Files
Omika/tools/Omika.OleDbSchemaProbe/Program.cs
T
2026-10-23 18:46:50 +02:00

62 lines
2.4 KiB
C#

// Probe LECTURE SEULE ciblé sur l'opération E2E existante.
// Aucune écriture. Source de vérité : la base réelle via OLE DB PCSOFT.HFSQL.
using System.Data.OleDb;
const string server = "127.0.0.1";
const int port = 4900;
const string user = "susana";
const string password = "123";
const string operationId = "5b915439-d9d9-44b5-9552-1f8f90db96c3";
const long mrIdToSrv = 1626;
string BuildConnStr(string database) =>
$"Provider=PCSOFT.HFSQL;Data Source={server}:{port};Initial Catalog={database};User ID={user};Password={password}";
void QueryTable(string database, string table, string sql)
{
Console.WriteLine($"=== {table} (base {database}) ===");
try
{
using var conn = new OleDbConnection(BuildConnStr(database));
conn.Open();
using var cmd = conn.CreateCommand();
cmd.CommandText = sql;
using var reader = cmd.ExecuteReader();
int rowCount = 0;
while (reader.Read())
{
rowCount++;
var values = new object[reader.FieldCount];
reader.GetValues(values);
Console.WriteLine($" Row {rowCount}: " + string.Join(" | ", values.Select(v => v?.ToString() ?? "NULL")));
}
if (rowCount == 0)
{
Console.WriteLine(" (aucune ligne)");
}
}
catch (Exception ex)
{
Console.WriteLine($" ERREUR: {ex.Message}");
}
Console.WriteLine();
}
// Base Service (BATIK.01_BLS) -> TOSRV pour IDTOSRV=1626
QueryTable("BATIK.01_BLS", "TOSRV (IDTOSRV=1626)",
"SELECT IDTOSRV, TS_Date, TS_Mobile, TS_CMD, TS_Lu, TS_JSON FROM TOSRV WHERE IDTOSRV = 1626");
// Base WebService (BATIK_TEST) -> MobReception pour MR_IDToSRV=1626
QueryTable("BATIK_TEST", "MobReception (MR_IDToSRV=1626)",
"SELECT MR_PKID, MR_IDToSRV, MR_CMD, MR_Fait, MR_DateHeureRecep, MR_JSON FROM MobReception WHERE MR_IDToSRV = 1626");
// Base WebService (BATIK_TEST) -> MobLog pour l'operationId
QueryTable("BATIK_TEST", "MobLog (operationId)",
"SELECT ML_PKID, ML_DateCreat, ML_Niveau, ML_Message FROM MobLog WHERE ML_Message LIKE '%5b915439-d9d9-44b5-9552-1f8f90db96c3%'");
// Base WebService (BATIK_TEST) -> Intervention (recherche E2E_TEST)
QueryTable("BATIK_TEST", "Intervention (E2E_TEST)",
"SELECT IN_PKID, IN_RefInterne, IN_Titre, IN_Description, Archive, CreationDate FROM Intervention WHERE IN_RefInterne LIKE 'E2E_TEST_%'");
Console.WriteLine("Probe ciblé terminé (lecture seule).");