ODBC-Treiber auf Linux Mint installieren

Forum für Fragen rund um die Installation, Konfiguration und Inbetriebnahme von Firebird.

Moderator: martin.koeditz

Antworten
vr2
Beiträge: 281
Registriert: Fr 13. Apr 2018, 00:13

Hallo zusammen,

hier gibt es doch einige, die sich mit Linux gut auskennen: Gerd? Ich will den aktuellen Firebird-ODBC-Treiber auf linux mint 22.3 installieren. Will ihn nicht neu übersetzen, die .so reicht mir. Habe unixodbc installiert. Habe die aktuelle libOdbcFb.so von https://github.com/FirebirdSQL/firebird ... r/releases nach /usr/local/lib/odbc gepackt, außerdem /etc/odbcinst.ini und odbc.ini editiert, dann in dbeaver von duckdb versucht, zu Firebird zu connecten. Mäßiger Erfolg ;-) Wie macht mans richtig?

Grüße, vr
Gerd
Beiträge: 275
Registriert: Di 1. Okt 2019, 17:13

vr2 hat geschrieben: So 7. Jun 2026, 05:59 Hallo zusammen,

hier gibt es doch einige, die sich mit Linux gut auskennen: Gerd? Ich will den aktuellen Firebird-ODBC-Treiber auf linux mint 22.3 installieren. Will ihn nicht neu übersetzen, die .so reicht mir. Habe unixodbc installiert. Habe die aktuelle libOdbcFb.so von https://github.com/FirebirdSQL/firebird ... r/releases nach /usr/local/lib/odbc gepackt, außerdem /etc/odbcinst.ini und odbc.ini editiert, dann in dbeaver von duckdb versucht, zu Firebird zu connecten. Mäßiger Erfolg ;-) Wie macht mans richtig?

Grüße, vr
Hallo Volker.

Ich nutze hier ausschließlich Firebird (zurzeit meine aktuelle Version: LI-V5.0.4.1812) und Linux Mint (zurzeit meine aktuelle Version: v21.3). ODBC habe ich bisher nicht benutzt.

So wie du vorgegangen bist habe ich im Internet nachvollziehen können - und hätte es dann auch so versucht.

Habe noch etwas aus dem Jahr 2014 (Autor: Pavel Císař, IBPhoenix) gefunden, was möglicherweise hilfreich sein könnte.
https://www.ibphoenix.com/articles/art-00000389


Viele Grüße
Gerd
ISQL Version: LI-V5.0.4.1812
Linux Mint 21.3 Cinnamon 6.0.4
Benutzeravatar
martin.koeditz
Beiträge: 541
Registriert: Sa 31. Mär 2018, 14:35

Ich bekomme die Verbindung unter Linux Mint ebenfalls nicht zum Laufen:

Code: Alles auswählen

[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/libOdbcFb.so' : file not found
[ISQL]ERROR: Could not SQLConnect
Datei liegt im angegebenen Pfad, dennoch Fehler. Mit ODBC bin ich nie richtig warm geworden. JDBC funktioniert da deutlich besser. Oder eben native Treiber.
Martin Köditz
SynDesk SW GmbH
Gerd
Beiträge: 275
Registriert: Di 1. Okt 2019, 17:13

martin.koeditz hat geschrieben: Mo 8. Jun 2026, 12:10 Ich bekomme die Verbindung unter Linux Mint ebenfalls nicht zum Laufen:

Code: Alles auswählen

[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/libOdbcFb.so' : file not found
[ISQL]ERROR: Could not SQLConnect
Datei liegt im angegebenen Pfad, dennoch Fehler. Mit ODBC bin ich nie richtig warm geworden. JDBC funktioniert da deutlich besser. Oder eben native Treiber.
Ja, das mag sein. Und bei mir kommt hinzu, dass ich es hier einfach nicht benötige.

Also ich würde auch mal versuchen unter Linux Mint die "libOdbcFb.so" gleich hierhin zu kopieren:

/lib/x86_64-linux-gnu
> libOdbcFb.so


Oder SymLink ...

/usr/lib64/
> libOdbcFb.so

zur Originaldatei

/lib/x86_64-linux-gnu/
> libOdbcFb.so

DEMNACH:

Code: Alles auswählen

[Firebird]
Description     = InterBase/Firebird ODBC Driver * -- Bitte Sternchen beachten - siehe unten!
Driver          = /lib/x86_64-linux-gnu/libOdbcFb.so
Setup           = /lib/x86_64-linux-gnu/libOdbcFb.so
Threading       = 1
FileUsage       = 1
CPTimeout       =
CPReuse         =
Und noch etwas:
Falls Verbindungsprobleme auftreten, sicherstellen, dass sich das Verzeichnis, in dem die Firebird ODBC-Bibliothek liegt -
also hier:

/lib/x86_64-linux-gnu/libOdbcFb.so

sich im Systempfad für ladbare Bibliotheken befindet. Falls nicht, kann das Folgende in etwa gemacht werden:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/odbc
(Ich habe das aber nicht getestet!)

Ich vermute, das Verzeichnis /odbc steht wohl erst dann zur Verfügung, wenn Sachen wie unixODBC installieren erledigt ist.


* Der Treiber heißt jetzt aber anders.
Ich glaube den neuen Treibernamen (oder den Hinweis dazu) auf GitHub (ODBC Treiber) gelesen zu haben(?).
Ich denke, dass der korrekte Treibername (also nicht InterBase/Firebird ODBC Driver) an dieser Stelle ([Description]) wichtig sein könnte.

Viele Grüße
Gerd
ISQL Version: LI-V5.0.4.1812
Linux Mint 21.3 Cinnamon 6.0.4
vr2
Beiträge: 281
Registriert: Fr 13. Apr 2018, 00:13

Danke, ich habs am Laufen, zumindest auf der Konsole. Der aktuelle Firebird ODBC-Treiber heißt "Firebird ODBC Driver", das ist aber egal, s.u.
Habe eine System-DSN angelegt:

Code: Alles auswählen

odbcinst.ini

[Firebird]
Description = Firebird ODBC Driver
Driver = /usr/local/lib/odbc/libOdbcFb.so
Setup = /usr/local/lib/odbc/libOdbcFb.so
FileUsage = 1

Code: Alles auswählen

odbc.ini

[testdb]
Description=Firebird
Driver=Firebird
Dbname=test
User=<euer user>
Password=<euer pw>
Role=<eure role>
CharacterSet=ISO8859_1
ReadOnly=No
NoWait=No
* Evtl ist ein export LD_LIBRARY_PATH=/usr/local/lib/odbc nötig.
* der Name des ODBC-Treibers spielt keine Rolle, er muss nur zwischen odbc.ini (Eintrag "Driver") und odbcinst.ini (der Header des Abschnitts in eckigen Klammern) übereinstimmen
* Zeichenkodierung evtl anpassen
* Role kann evtl leerbleiben, User/PW auch, dann wird nachgefragt bei connect

Test auf der Konsole:

Code: Alles auswählen

xx@xx:~$ odbcinst -j
unixODBC 2.3.12
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/xx/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

xx@xx:~$ odbcinst -q -d
[Firebird]

xx@xx:~$ odbcinst -q -s
[testdb]

xx@xx:~$ isql -v testdb
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
Das ist übrigens nicht das isql von Firebird, sondern von unixodbc. Auch ein select statement läuft.

Soweit klappt es also, nur von duckdb noch nicht, dort scheitert das odbc_connect zur DSN testdb ohne Angabe von Gründen. Das kommt ins duckdb-Forum.
Antworten