我花了很多时间试图弄清楚这一点。所以也许任何人都可以在这里帮助我,请:(。

我得到了一个 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 给了我这个错误:



我检查了文件路径,发现 libcwbodbc 存在 >.
希望任何人都可以在这里帮助我:(。非常感谢

最佳答案

我遇到了与此相同的问题,所以只想发帖说我找到了解决方法;

错误有点误导,应该说图书馆有问题。您可以通过对它运行 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)

您可以通过符号链接(symbolic link) 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 文章,您可能会觉得它很有用。

关于php - 无法连接到 iSeries odbc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28472764/

10-11 05:25