我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上工作。据我所知,没有 64 位 ODBC 客户端,所以我必须使用 32 位客户端。我终于让它安装没有错误,但尝试使用会给出以下内容:
# isql -v mydsn
[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib/odbcci.so' : file not found
[ISQL]ERROR: Could not SQLConnect
ldd 显示:
# ldd /usr/local/psql/lib/odbcci.so
linux-gate.so.1 => (0x007d3000)
libpscore.so.3 => /usr/local/psql/lib/libpscore.so.3 (0x00c32000)
libpscl.so.3 => /usr/local/psql/lib/libpscl.so.3 (0x005f9000)
libuuid.so.1 => /lib/libuuid.so.1 (0x0076d000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
libdl.so.2 => /lib/libdl.so.2 (0x003e0000)
libstdc++.so.6 => /usr/local/psql/lib/libstdc++.so.6 (0x0012b000)
libm.so.6 => /lib/libm.so.6 (0x00876000)
libgcc_s.so.1 => /usr/local/psql/lib/libgcc_s.so.1 (0x00434000)
libc.so.6 => /lib/libc.so.6 (0x00954000)
/lib/ld-linux.so.2 (0x00f70000)
最佳答案
我刚刚在为 Ubuntu 客户端设置 ODBC 和 Pervasive 时遇到了类似的问题。
在您 su psql
之后它起作用的原因是因为他们在 psql 用户帐户中安装了 .bashrc
。这个问题的关键因素是 export LD_LIBRARY_PATH=...
,它告诉动态链接器在哪里可以找到库。
关于 SQL 连接管理器的评论中的错误也是我遇到的错误:[08S01][unixODBC][Pervasive][ODBC Client Interface][Client LNA]The ODBC Client Interface cannot access the data source because SQL Connection Manager is not running at the specified port number. Contact your system administrator for assistance.
我认为 Pervasive 希望在自己的 etc 目录中拥有自己的 odbc.ini 副本。 dsnadd
脚本可能就是这样做的。我在 64 位安装中没有 dsnadd
,但是我添加了一个从 /etc/odbc.ini
到 /usr/local/psql/etc/odbc.ini
的符号链接(symbolic link)并且它起作用了。
关于linux - Linux 上的普遍 ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so' : file not found,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11092840/