2016-11-22 100 views
0

我试图运行我在Ubuntu服务器上编写的脚本。在Ubuntu服务器上运行与MSSQL数据库连接的Python脚本

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

当我尝试我的Ubuntu服务器上运行它,我得到以下错误:

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

这是我的ConnectionString:

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

告诉我们您是如何尝试建立连接的,因此我们有机会找出可能存在的问题。 – quantummind

+0

我编辑了我原来的帖子,但是这里是连接字符串: 'DRIVER =“DRIVER = {SQL Server};” SERVER =“SERVER = servername;” UID =“UID = userid;” PWD =“PWD =密码;” DATABASE =“DATABASE = database_name;” connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD)' 似乎无法在此评论中获得格式化权限。 – Stains

回答

0

您的/etc/odbcinst.ini文件中可能没有[SQL Server]部分。 你应该有这样的事情在里面:

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

节名必须是您用来设置你的Python程序DRIVER相同。你应该为freetds选择一个合适的驱动程序。 检查http://www.unixodbc.org/doc/FreeTDS.html

相关问题