Zum Inhalt springen

ODBC-Verbindung zu Firebird mit PowerShell-Skript

Bedauerlicherweise bin ich mit einer Firebird-Datenbank als ERP-Unterbau und einer stattlichen Anzahl an Excel-Makros geschlagen. Manche Dateien davon sind so alt, dass sie Windows 2000 noch persönlich kennen.
Aus reinem Jux und Tollerei habe ich mir eine der leichteren Dateien geschnappt und begonnen es schrittweise in ein PowerShell-Skript zu transformieren, wenn ein wenig Luft ist.

Die Makros greifen stets auf eine bestehende ODBC-Verbindung zu, da sie Daten direkt aus dem ERP ziehen.
Leider haben die im Web gefundenen Lösungen alle nicht funktioniert.
Sie wollten irgendwie zusätzliche undokumentierte Verbindungsparameter, wie den Pfad zur benötigten DLL, haben. Außerdem steht unter anderem das Passwort im Klartext im Skript. Vielleicht gibt es die Parameter auch gar nicht.

Die Fundstücke sahen so aus:

$conn = New-Object System.Data.Odbc.OdbcConnection
$connStr = "Driver={Firebird/Interbase(r) driver};Server=localhost;Port=****;Database=*.fdb;Uid=user;Pwd=userpassword;"
$conn.ConnectionString = $connStr
$conn.Open()

Was nach langem probieren und unter Zuhilfenahme alternativer Suchmaschinen schließlich funktioniert hat, war folgendes:

$conn = New-Object System.Data.Odbc.OdbcConnection("DSN= <Name der funktionierenden ODBC-Verbindung>")
$conn.open()

Vielleicht erspare ich ja jemand damit tagelange Sucherei. 😉