2015-02-12 85 views
2

我花了很多時間試圖弄清楚這一點。所以,也許任何人都可以幫我在這裏,請登錄:無法連接到iSeries odbc

我被給了一個ibm-iaccess64.rpm,然後將它轉換爲使用外星人的deb,然後安裝它:sudo dpkg -i ibm-iaccess64.deb。 。一個成功

然後在我的/etc/odbcinst.ini我有這樣的配置:

[ISERIES] 
Description = iSeries Access ODBC Driver DSN for iSeries 
Driver = iSeries Access ODBC Driver 
System = 192.16.1.1 
UserID = myuserid 
Password = mypassword 
Naming = 0 
DefaultLibraries = QGPL 
Database = MMGSTLIB 
ConnectionType = 0 
CommitMode = 2 
ExtendedDynamic = 0 
DefaultPkgLibrary = QGPL 
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512 
AllowDataCompression = 1 
LibraryView = 0 
AllowUnsupportedChar = 0 
ForceTranslation = 0 
Trace = 0 

然後我試圖ISQL -v ISERIES給了我這個錯誤:

[01000][unixODBC][Driver Manager]Can't open lib '/opt/ibm/iSeriesAccess/lib64/libcwbodbc.so' : file not found [ISQL]ERROR: Could not SQLConnect

我查了文件路徑和libcwbodb c存在>。 < ...

希望有人能幫助我在這裏:(感謝許多

回答

5

我有同樣的問題,因爲這所以纔想後說,我找到了解決;

的錯誤是有點missleading,應該說圖書館有問題,你可以通過運行鍼對其LDD它會顯示看到這可能表明它缺少libodbcinst.so.2

ldd /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so 
linux-vdso.so.1 => (0x00007fff86dfe000) 
**libodbcinst.so.2 => not found** 
libcwbcore.so => /usr/lib/x86_64-linux-gnu/libcwbcore.so (0x00007f7f68545000) 
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7f68240000) 
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7f67f3a000) 
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7f67d24000) 
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7f6795d000) 
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7f6773f000) 
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7f6753b000) 
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7f67332000) 
/lib64/ld-linux-x86-64.so.2 (0x00007f7f68b98000) 

你可以把一個「修復」通過象徵性的方式鏈接so.1

sudo ln -s /usr/lib/x86_64-linux-gnu/libodbcinst.so.1 /usr/lib/x86_64-linux-gnu/libodbcinst.so.2 

我發佈了一篇關於this的完整odbc文章,您可能會發現它很有用。

+0

此解決方案對我無效。 – 2015-11-05 20:59:39

+1

在Ubuntu 14.4 LTS上爲我工作:) – depicus 2015-12-20 16:34:33