从Ubuntu服务器连接到MS SQL Server

使用Ubuntu 10.04 LTS,我试图从Python脚本中连接到另一个盒子上的MS SQL Server。 我需要遵循的步骤是什么? 现在,我试图使用pyodbc模块,但每当我尝试连接,我得到以下错误:

未find数据源名称,且未指定默认驱动程序(0)(SQLDriverConnectW)

所以,我看着odbvcinst.ini文件是空的,添加了一个条目,现在当我使用我定义的项目之一,我得到以下错误:

SQL_HANDLE_HENV上的驱动程序SQLAllocHandle失败(0)(SQLDriverConnectW)

我已经安装了:unixodb unixodbc-dev freetds-dev freetds-bin。 我已经把它放在SF上,而不是因为我认为这是一个服务器configuration问题。 我应该拥有哪个驱动程序,以及如何在哪个文件中引用它? (我对Ubuntu很新颖)

你在/etc/freetds.conf文件中设置了数据源吗?

入口应该是这样的:

 # A typical Microsoft server [egServer70] host = ntmachine.domain.com port = 1433 tds version = 7.0 

(虽然我倾向于在使用MS SQL Server的时候使用tds version = 8.0,而且工作正常)

编辑:(将我的回应放在这里,所以我可以编码格式)

你的/etc/odbcinst.ini应该是这样的:

 [MSSQL] Description = FreeTDS Driver = /usr/lib/libtdsodbc.so Setup = /usr/lib/libtdsS.so CPTimeout = CPReuse = 

(确保驱动程序path正确,有时候是/ usr / lib / odbc /)

那么Python的string应该是这样的:

 import pyodbc connection = pyodbc.connect("DRIVER={MSSQL};SERVER=yourserver.yourdomain.com;UID=username;PWD=password;DATABASE=databasename")