sql >> Databasteknik >  >> RDS >> Database

Easysoft ODBC-drivrutiner och ODBCINST-biblioteket

ODBC-applikationer länkar vanligtvis mot en ODBC Driver Manager snarare än en viss ODBC-drivrutin. En ODBC Driver Manager är gränssnittet mellan en ODBC-applikation och en ODBC-drivrutin. unixODBC är en drivrutinshanterare för icke-Windows-plattformar. Detta ldd-kommando visar att ODBC-testapplikationen isql är länkad mot unixODBC Driver Manager-biblioteket:

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

Easysoft ODBC-drivrutiner är inte länkade mot huvudbiblioteket för unixODBC Driver Manager, men de är länkade mot unixODBC setup/config-biblioteket:

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

Detta betyder att för att en Easysoft ODBC-drivrutin ska fungera måste ett unixODBC-bibliotek med namnet libodbcinst.so.1 (eller en symbolisk länk) finnas på systemet. Annars får du felet:

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

Om du väljer att inte installera unixODBC Driver Manager som ingår i Easysoft ODBC-drivrutinsdistributionen och du får det här felet, kontrollera att du har ett bibliotek som heter libodbcinst.so.1 på din dator. Om det inte finns några libodbcinst.so.*-filer, installera unixODBC. Om de finns, skapa en symbolisk länk för att tillfredsställa Easysoft ODBC-drivrutinsberoendet. Till exempel:

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

  1. Skriver ut till skärm i .sql-fil postgres

  2. Vad betyder Import Error:Symbol not found:_PQencryptPasswordConn betyder och hur fixar jag det?

  3. Exportera tabelldata från en SQL Server till en annan

  4. Hur släpper man en kolumn i SQL?