Database
 sql >> Datenbank >  >> RDS >> Database

Easysoft ODBC-Treiber und die ODBCINST-Bibliothek

ODBC-Anwendungen werden normalerweise mit einem ODBC-Treiber-Manager und nicht mit einem bestimmten ODBC-Treiber verknüpft. Ein ODBC-Treiber-Manager ist die Schnittstelle zwischen einer ODBC-Anwendung und einem ODBC-Treiber. unixODBC ist ein Treibermanager für Nicht-Windows-Plattformen. Dieser ldd-Befehl zeigt, dass die ODBC-Testanwendung isql ist mit der unixODBC-Treiber-Manager-Bibliothek verknüpft:

$ ldd unixODBC/bin/isql
libodbc.so.1 => /usr/local/easysoft/unixODBC/lib/libodbc.so.1

Easysoft ODBC-Treiber sind nicht mit der Hauptbibliothek des unixODBC-Treibermanagers verknüpft, aber sie sind mit der unixODBC-Setup-/Konfigurationsbibliothek verknüpft:

$ ldd libessqlsrv.so
libodbcinst.so.1 => /usr/local/easysoft/unixODBC/lib/libodbcinst.so.1

Damit ein Easysoft ODBC-Treiber funktioniert, muss also eine unixODBC-Bibliothek namens libodbcinst.so.1 (oder ein symbolischer Link) auf dem System vorhanden sein. Andernfalls erhalten Sie den Fehler:

[01000][unixODBC][Driver Manager]Can't open lib 'odbc_driver' : file not found

Wenn Sie den in der Easysoft ODBC-Treiberverteilung enthaltenen unixODBC-Treiber-Manager nicht installieren und diese Fehlermeldung erhalten, prüfen Sie, ob auf Ihrem Computer eine Bibliothek mit dem Namen libodbcinst.so.1 vorhanden ist. Wenn keine libodbcinst.so.*-Dateien vorhanden sind, installieren Sie unixODBC. Wenn sie vorhanden sind, erstellen Sie einen symbolischen Link, um die Easysoft ODBC-Treiberabhängigkeit zu erfüllen. Zum Beispiel:

cd /usr/lib64
sudo ln -s libodbcinst.so.2 libodbcinst.so.1