# ============================================================ # Liste les bases (catalogues) disponibles sur le serveur HFSQL. # Se connecte à une base accessible (BATIK_TEST) puis liste les # catalogues via le schéma OLEDB. LECTURE SEULE. # ============================================================ param( [string]$ConfigPath = "config/hfsql-test.local.json" ) $ErrorActionPreference = "Stop" $config = Get-Content $ConfigPath -Raw | ConvertFrom-Json $db = $config.Hfsql $server = $db.Server $port = $db.Port $database = $db.DatabaseName $login = $db.Login $password = $db.Password Write-Output "=== LISTE DES BASES HFSQL (serveur $server`:$port) ===" Write-Output "Connexion d'ancrage : $database" Write-Output "" $connStr = "Provider=PCSOFT.HFSQL;Data Source=$server`:$port;Initial Catalog=$database;User ID=$login;Password=$password" try { $conn = New-Object System.Data.OleDb.OleDbConnection($connStr) $conn.Open() Write-Output "CONNEXION : OUVERTE" Write-Output "" # --- Liste des catalogues (bases) --- $schema = $conn.GetOleDbSchemaTable([System.Data.OleDb.OleDbSchemaGuid]::Catalogs, $null) if ($null -eq $schema) { Write-Output "CATALOGUES : schema non disponible" } else { Write-Output "CATALOGUES ($($schema.Rows.Count)) :" foreach ($row in $schema.Rows) { $catalogName = $row["CATALOG_NAME"] Write-Output " - $catalogName" } } $conn.Close() Write-Output "" Write-Output "RESULTAT : OK" exit 0 } catch { Write-Output "CONNEXION : ECHEC" Write-Output "Erreur : $($_.Exception.Message)" Write-Output "RESULTAT : KO" exit 3 }