在Ubuntu Server

时间:2016-11-22 15:23:41

标签: python linux ubuntu odbc pypyodbc

我试图运行我在Ubuntu服务器上编写的脚本。

我使用pypyodbc连接到脚本中服务器上的数据库,它在Windows上运行良好。

当我试图在我的Ubuntu服务器上运行它时,我收到以下错误:

pypyodbc.Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified')

这是我的连接字符串:

DRIVER = "DRIVER={SQL Server};"
SERVER = "SERVER=servername;"
UID = "UID=userid;"
PWD = "PWD=password;"
DATABASE = "DATABASE=database_name;"

connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD)

我做错了什么?有什么想法吗?

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

您的[SQL Server]文件中可能没有/etc/odbcinst.ini部分。 你应该有这样的东西:

[SQL Server]
Driver=<driver so file name>
<other parameters>

部分名称必须与您在python程序中设置DRIVER时的名称相同。您应该为此选择合适的驱动程序,如freetds。 查看http://www.unixodbc.org/doc/FreeTDS.html