Firebird SQL (Win) über ODBC (Linux) abfragen
Von hinten durch die Brust ins Auge ... muß aber sein
Hallo *.*,
folgende Konstellation ist gegeben:
Firebird SQL 1.5 auf Win 2008 Server, im Produktiveinsatz
Debian 5 Server (hauptsächlich Web/Intranet), ebenfalls im Produktiveinsatz
Vom Linux-Server aus soll nun per ODBC (falls jemand was anderes/besseres weiß: raus damit!) eine Tabelle der FB-Datenbank gelesen werden.
Kein Schreibzugriff, keine JOINs, einfach nur ein SELECT.
Probleme hierbei:
- Firebird 1.5 ist relativ alt, die darauf laufende Anwendung unterstützt aber noch kein 2.x
- Für Debian gibt es nur eine rudimentäre FB-Unterstützung und das erst so richtig an 2.x
- ODBC unter Linux ist ... tricky.
Aktuell habe ich unixODBC und die libOdbcFb.so installiert und folgendes in meiner odbc.ini:
[FirebirdSQL]
Description = Firebird Anbindung
Driver = FirebirdSQL
Trace = Yes
TraceFile = ODBCFB.log
Database = Server2vm01:D:\xxx\Daten\xxx.GDB
Servername = Server2vm01
UserName = ODBC
Password = xxx
Port = 5432
Protocol = 6.4
ReadOnly = Yes
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =
Dann noch die odbcinst.ini:
[FirebirdSQL]
Description = FirebirdSQL driver for Linux
Driver = /usr/lib/odbc/libOdbcFb.so
FileUsage = 1
Threading = 2
Führe ich jetzt isql aus, erhalte ich jedoch das hier:
[ISQL]ERROR: Could not SQLConnect
Google spuckt mir zu dem Thema recht viel aus, aber nicht i.V.m. Firebird oder ähnliches, was ich ableiten kann.
Für die libgds.so habe ich einen symlink auf die libfbclient.so erstellt (wie im FB-Manual beschrieben).
Ansonsten gehen aber alle Manuals immer davon aus, daß der FB-Server auch lokal installiert und nicht über das Netzwerk abgefragt wird.
Hat jemand schonmal eine solche oder ähnliche Konstellation zum Laufen gebracht und wenn ja: wie?
Eine andere Methode wäre evtl. noch die Verwendung des Firebird-Moduls für PHP5, aber hierzu ist fast gar nichts an brauchbarer Doku zu finden
Hallo *.*,
folgende Konstellation ist gegeben:
Firebird SQL 1.5 auf Win 2008 Server, im Produktiveinsatz
Debian 5 Server (hauptsächlich Web/Intranet), ebenfalls im Produktiveinsatz
Vom Linux-Server aus soll nun per ODBC (falls jemand was anderes/besseres weiß: raus damit!) eine Tabelle der FB-Datenbank gelesen werden.
Kein Schreibzugriff, keine JOINs, einfach nur ein SELECT.
Probleme hierbei:
- Firebird 1.5 ist relativ alt, die darauf laufende Anwendung unterstützt aber noch kein 2.x
- Für Debian gibt es nur eine rudimentäre FB-Unterstützung und das erst so richtig an 2.x
- ODBC unter Linux ist ... tricky.
Aktuell habe ich unixODBC und die libOdbcFb.so installiert und folgendes in meiner odbc.ini:
[FirebirdSQL]
Description = Firebird Anbindung
Driver = FirebirdSQL
Trace = Yes
TraceFile = ODBCFB.log
Database = Server2vm01:D:\xxx\Daten\xxx.GDB
Servername = Server2vm01
UserName = ODBC
Password = xxx
Port = 5432
Protocol = 6.4
ReadOnly = Yes
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =
Dann noch die odbcinst.ini:
[FirebirdSQL]
Description = FirebirdSQL driver for Linux
Driver = /usr/lib/odbc/libOdbcFb.so
FileUsage = 1
Threading = 2
Führe ich jetzt isql aus, erhalte ich jedoch das hier:
- isql -v FirebirdSQL
[ISQL]ERROR: Could not SQLConnect
Google spuckt mir zu dem Thema recht viel aus, aber nicht i.V.m. Firebird oder ähnliches, was ich ableiten kann.
Für die libgds.so habe ich einen symlink auf die libfbclient.so erstellt (wie im FB-Manual beschrieben).
Ansonsten gehen aber alle Manuals immer davon aus, daß der FB-Server auch lokal installiert und nicht über das Netzwerk abgefragt wird.
Hat jemand schonmal eine solche oder ähnliche Konstellation zum Laufen gebracht und wenn ja: wie?
Eine andere Methode wäre evtl. noch die Verwendung des Firebird-Moduls für PHP5, aber hierzu ist fast gar nichts an brauchbarer Doku zu finden
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 140167
Url: https://administrator.de/contentid/140167
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
http://www.rrze.uni-erlangen.de/infrastruktur/datenbanken/firebird/fire ...
Diese Dokumentation macht doch einen Soliden eindruck.
Diese Dokumentation macht doch einen Soliden eindruck.
Hallo,
konntest du dein Problem lösen? ich habe ein ähnliches Problem um mit Ubuntu auf Firebird zuzugreifen. auf MSSQL zuzugreifen funktioniert. Hatte mich an folgende Anleitung gehalten:
https://help.ubuntu.com/community/ODBC
libgds habe ich nicht installiert, da ich nicht mittels openoffice darauf zugreife, sondern über php odbc_connect
odbcinst.ini
[Firebird]
Description = Firebird ODBC Driver
Driver = /usr/lib/odbc/libodbcfb.so
Setup = /usr/lib/odbc/libodbcfb.so
UsageCount = 1
CPTimeout =
CPReuse =
[FreeTDS]
Description = MSSQL
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsodbc.so
UsageCount = 1
CPTimeout =.
CPReuse =.
isql -v DBNAME
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/odbc/libodbcfb.so' : file not found
[ISQL]ERROR: Could not SQLConnect
Die Datei ist aber definitiv da!
konntest du dein Problem lösen? ich habe ein ähnliches Problem um mit Ubuntu auf Firebird zuzugreifen. auf MSSQL zuzugreifen funktioniert. Hatte mich an folgende Anleitung gehalten:
https://help.ubuntu.com/community/ODBC
libgds habe ich nicht installiert, da ich nicht mittels openoffice darauf zugreife, sondern über php odbc_connect
odbcinst.ini
[Firebird]
Description = Firebird ODBC Driver
Driver = /usr/lib/odbc/libodbcfb.so
Setup = /usr/lib/odbc/libodbcfb.so
UsageCount = 1
CPTimeout =
CPReuse =
[FreeTDS]
Description = MSSQL
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsodbc.so
UsageCount = 1
CPTimeout =.
CPReuse =.
isql -v DBNAME
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/odbc/libodbcfb.so' : file not found
[ISQL]ERROR: Could not SQLConnect
Die Datei ist aber definitiv da!
Hier (1) habe ich einen Hinweis auf folgende (2) Datei gefunden mit dieser funktioniert es dann.
Es musste nur noch ein link erzeugt werden: ln -s /usr/lib/libfbclient.so.2 /usr/lib/libgds.so
(1) http://tracker.firebirdsql.org/browse/ODBC-68
(2) http://tracker.firebirdsql.org/secure/attachment/11651/libOdbcFb.so.bz2
Es musste nur noch ein link erzeugt werden: ln -s /usr/lib/libfbclient.so.2 /usr/lib/libgds.so
(1) http://tracker.firebirdsql.org/browse/ODBC-68
(2) http://tracker.firebirdsql.org/secure/attachment/11651/libOdbcFb.so.bz2