ODBCアプリケーションは通常、特定のODBCドライバーではなく、ODBCドライバーマネージャーに対してリンクします。 ODBCドライバーマネージャーは、ODBCアプリケーションとODBCドライバーの間のインターフェイスです。 unixODBCは、Windows以外のプラットフォーム用のドライバーマネージャーです。このlddコマンドは、ODBCテストアプリケーションisql
が unixODBC Driver Managerライブラリに対してリンクされています:
$ ldd unixODBC/bin/isql libodbc.so.1 => /usr/local/easysoft/unixODBC/lib/libodbc.so.1
Easysoft ODBCドライバーは、メインのunixODBCドライバーマネージャーライブラリにはリンクされていませんが、unixODBCセットアップ/構成ライブラリにはリンクされています:
$ ldd libessqlsrv.so libodbcinst.so.1 => /usr/local/easysoft/unixODBC/lib/libodbcinst.so.1
つまり、Easysoft ODBCドライバーが機能するには、libodbcinst.so.1(またはシンボリックリンク)という名前のunixODBCライブラリがシステムに存在している必要があります。そうしないと、エラーが発生します:
[01000][unixODBC][Driver Manager]Can't open lib 'odbc_driver' : file not found
EasysoftODBCドライバーディストリビューションに含まれているunixODBCドライバーマネージャーをインストールしないことを選択し、このエラーが発生した場合は、マシンにlibodbcinst.so.1という名前のライブラリがあることを確認してください。 libodbcinst.so。*ファイルが存在しない場合は、unixODBCをインストールします。それらが存在する場合は、EasysoftODBCドライバーの依存関係を満たすためにシンボリックリンクを作成します。例:
cd /usr/lib64 sudo ln -s libodbcinst.so.2 libodbcinst.so.1