我试图在Centos 6上运行Pervasive v10客户端ODBC。据我所知,没有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)
答案 0 :(得分:0)
我在为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
的符号链接,并且它有效。