Files
Omika/tools/probe_sync_schema.ps1
T
2026-10-23 18:46:50 +02:00

49 lines
1.9 KiB
PowerShell

# Probe LECTURE SEULE de la structure réelle des tables de synchronisation
# TOSRV (base Service) / MobReception, MobLog (base Business/WebService).
# Aucune écriture. Source de vérité : la base réelle via OLE DB PCSOFT.HFSQL.
$ErrorActionPreference = "Stop"
Add-Type -AssemblyName System.Data.OleDb
function Get-TableColumns {
param(
[string]$Server,
[int]$Port,
[string]$Database,
[string]$User,
[string]$Password,
[string]$Table
)
$connStr = "Provider=PCSOFT.HFSQL;Data Source=$Server`:$Port;Initial Catalog=$Database;User ID=$User;Password=$Password"
$conn = New-Object System.Data.OleDb.OleDbConnection($connStr)
try {
$conn.Open()
Write-Host "=== Table: $Table (base $Database) ==="
$schema = $conn.GetSchema("Columns", @($null, $null, $Table))
if ($schema.Rows.Count -eq 0) {
Write-Host " (aucune colonne retournée / table introuvable)"
} else {
foreach ($row in $schema.Rows) {
$name = $row["COLUMN_NAME"]
$type = $row["DATA_TYPE"]
$size = $row["CHARACTER_MAXIMUM_LENGTH"]
Write-Host (" {0,-25} type={1,-10} size={2}" -f $name, $type, $size)
}
}
Write-Host ""
} finally {
if ($conn.State -eq [System.Data.ConnectionState]::Open) { $conn.Close() }
$conn.Dispose()
}
}
# Base Service (BATIK.01_BLS) -> TOSRV
Get-TableColumns -Server "127.0.0.1" -Port 4900 -Database "BATIK.01_BLS" -User "susana" -Password "123" -Table "TOSRV"
# Base Business/WebService (BATIK_TEST) -> MobReception, MobLog
Get-TableColumns -Server "127.0.0.1" -Port 4900 -Database "BATIK_TEST" -User "susana" -Password "123" -Table "MobReception"
Get-TableColumns -Server "127.0.0.1" -Port 4900 -Database "BATIK_TEST" -User "susana" -Password "123" -Table "MobLog"
Write-Host "Probe terminé (lecture seule)."