3

ODBC ドライバーをインストールしようとしていますが、壁にぶつかっています。

[root@Crux pkg]# isql -v
[IM002][DataDirect][ODBC lib] Data source name not found and no default driver specified
[ISQL]ERROR: Could not SQLConnect
[root@Crux pkg]# isql -3 SUBS2A
[IM003][DataDirect][ODBC lib] Specified driver could not be loaded
[ISQL]ERROR: Could not SQLConnect

私のINIファイルは次のとおりです。

odbcinst.ini

[ProgressOpenEdge]
Description = ODBC for Progress OpenEdge
Driver = /usr/dlc/odbc/lib/pgoe1023.so
;Setup = /usr/dlc/odbc/lib/pgoe1023.so
FileUsage = 1

odbc.ini

[SUBS2A]
Driver = ProgressOpenEdge
Description = Fail
DatabaseName = SUBS
PortNumber = 4000
HostName = 192.168.1.2
LogonID = SYSPROGRESS
Password = SYSPROGRESS
APILevel = 1
ConnectFunctions = YYN
CPTimeout = 60
DriverODBCVer = 03.50
FileUsage = 0
SQLLevel = 0
UsageCount = 1
ArraySize = 50
DefaultLongDataBuffLen = 2048
DefaultIsolationLevel = REPEATABLE READ
StaticCursorLongColBuffLen = 4096
[ODBC]
InstallDir = /usr/dlc/odbc
Trace = 0
TraceFile = odbctrace.out
TraceDll = /usr/dlc/odbc/lib/odbctrac.so
UseCursorLib = 0

すべての依存関係がlddを介して適切にロードされていることを確認しました。

アップデート

出力: strace isql -v http://pastebin.com/tXFY4vVt

出力: strace isql -3 SUBS2A http://pastebin.com/Yu5e54mR

出力: /tmp/odbctrace.out http://pastebin.com/0kgvNdWv

ありがとう

4

2 に答える 2

3

ODBC ドライバーがロード可能であることを確認する必要があります。

ldd /usr/dlc/odbc/lib/pgoe1023.so

おそらく、ローダーは、環境でまだ利用できない、または別のバージョンで利用できる共有オブジェクト (ライブラリなど) としての依存関係を見つけることができませ

/usr/dlc/odbc/lib/システムに応じて、または他のパスを追加することをお勧めします。

  • 環境変数のいずれかLD_LIBRARY_PATH
  • /etc/ld.so.conf.d/odbc-pgoe.confたとえば、次の行を使用してLinuxローダー用の特定のファイルを追加し、次のよう/usr/dlc/odbc/lib/に更新しldconfigます(最良のオプション)

ldd問題が解決しない場合は、コマンド出力を報告してください。予想されるライブラリ ファイル名が、お使いの Linux ディストリビューションと正確に一致しない可能性があります。

更新 : この投稿の最後のコメントは、ld.so.conf ファイルがドライバーを機能させるためのソリューションであることを確認しています。テストする必要があります。

このフォーラムは、同様の状況について言及しています。解決策で問題が解決するかもしれません。

それでも問題が解決しない場合は、の出力を報告してくださいstrace isql -3 SUBS2A。エラーメッセージが書き込まれる直前に、ライブラリのロードの失敗、ファイルアクセス許可の問題など、何が問題なのかの手がかりが得られるでしょう。

于 2012-05-03T09:57:50.043 に答える
0

(1)使用する前に、ドライバーが正しいかどうかを確認できます。

$ ivtestlib /usr/dlc/odbc/lib/pgoe1023.so

(2)ドライバをロードするときにログを監視するコンソールで、

tail -f /path/to/SysLog_OrOtherName.file

別のコンソールでは、

odbc.sh
于 2012-05-09T13:26:09.737 に答える