Ubuntu 14.04.1 LTS
我想从我的 Ubuntu 机器通过 ODBC 访问 MS SQL 2005 服务器。此 MSSQL 服务器位于我们的内部网络上。我安装了以下软件包:unixodbc、unixodbc-dev、unixodbc-bin、libodbc1、libtool、autotools-dev 和其他几个依赖项。还有 tdsodbc、freetds-bin、freetds-common、freetds-dev、libct4。
但我似乎无法在 /etc/odbc.ini 中的 DSN 中找到 .so 文件的位置。我该使用哪个文件?执行此操作:echo "select 1"|isql -v mydsn 会给出此错误:
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so' : file not found
[ISQL]ERROR: Could not SQLConnect
'mydsn' 试图指向 /usr/lib/libtdsodbc.so,但它不在那里。我应该在 /etc/odbc.ini 文件中设置哪个 .so 文件?
答案1
根据此链接:http://www.unixodbc.org/doc/FreeTDS.html, 有可能:
/usr/local/freetds/lib/libtdsodbc.so
另一种可能性是:
/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
这是针对 64 位架构的。
一旦找到正确的位置,请更新 /etc/odbcinst.ini 以反映更改。