在freetds-dev中缺lesslibtdsodbc.so – 在Ubuntu上使用MSSQL

我试图让通过ODBC的Ubuntu 12.04上的MSSQL工作,我已经按照这些步骤的信:

http://jamesrossiter.wordpress.com/2011/03/08/connecting-to-microsoft-sql-server-using-odbc-from-ubuntu-server/

但是,这会省略odbcinst.ini中指向的这两个文件:

Driver = /usr/lib/odbc/libtdsodbc.so Setup = /usr/lib/odbc/libtdsS.so 

所以,我GOOGLE了一下,发现这一点:

http://ubuntuforums.org/showthread.php?t=433435&page=2

所以我遵循这些说明,并把libtdsodbc.so放在/ usr / lib / odbc /中,但是我仍然得到这个错误:

 Can't open lib '/usr/lib/odbc/libtdsodbc.so' : file not found, SQL state 01000 in SQLConnect 

但…

 root@ubuntu:/usr/lib/odbc# ls -la total 552 drwxr-xr-x 2 root root 4096 Aug 19 20:12 . drwxr-xr-x 62 root root 12288 Aug 19 19:41 .. -rwxrwxr-x 1 root root 270608 Aug 19 20:00 libtdsodbc.so 

我试图在该文件上的chmod 775,这解释了权限。 仍然没有运气。

有任何想法吗? 我很难过 真的很想让我的Linux机器上工作。

编辑:我使用Ubuntu 64位。 我打赌这是问题。 希望有帮助…

编辑2:我尝试从这里手动获取64位软件包:

http://www.ubuntuupdates.org/package/core/precise/main/base/tdsodbc

然后我看到有一个文件叫做:

 /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 

宇,也许是一个64位版本,对不对?

所以我指出odbcinst.ini,它没有工作。

 sudo apt-get install freetds-dev 

要么

 sudo apt-get install tdsodbc 

现在为32位看起来在:

 /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so 

或64位:

 /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 

我在这个列表服务站的帮助下解决了这个问题:

http://mailman.unixodbc.org/pipermail/unixodbc-support/2008-November/001842.html

除:

 Driver = TDS 

应该:

 Driver = FreeTDS 

那个奇怪的64位驱动程序,我不得不手动查找也是相关的,忽略freetds.conf是要走的路。

好玩的东西。