在Ubuntu服务器上运行与MSSQL数据库连接的Python脚本
问题描述:
我试图运行我在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)
我做了什么错?有什么想法吗?
最好的问候。
答
您的/etc/odbcinst.ini
文件中可能没有[SQL Server]
部分。 你应该有这样的事情在里面:
[SQL Server]
Driver=<driver so file name>
<other parameters>
节名必须是您用来设置你的Python程序DRIVER
相同。你应该为freetds选择一个合适的驱动程序。 检查http://www.unixodbc.org/doc/FreeTDS.html
告诉我们您是如何尝试建立连接的,因此我们有机会找出可能存在的问题。 – quantummind
我编辑了我原来的帖子,但是这里是连接字符串: '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