在pyODBC
计算机内从Ubuntu (12.10)
连接到Microsoft SQL Server实例时遇到问题。
我要回的错误是:
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data Source name not found, and no default driver specified (0) (SQLDriverConnect)')
用于pyodbc的连接字符串是:
self.corpus_cnxn = pyodbc.connect('DRIVER={FreeTDS};SERVER=UKEDN-06880;DATABASE=db1;UID=user;PWD=pass')
这似乎可以在Windows中的pyODBC中正常工作(只需要将DRIVER更改为'SQL Server'而不是'FreeTDS'),当我尝试使用 tsql从Ubuntu机器连接时它工作正常 Tool来自终端,使用以下命令:
tsql -S UKEDN-06880 -p 1433 -U user -P pass
我可以选择任何没有问题的表,它似乎在pyODBC中没有用。
任何帮助或建议都会非常感激,我的Linux技能非常弱,而且完全卡住了,虽然因为它的工作原理是tsql,所以感觉非常接近!
答案 0 :(得分:9)
看起来你已经使freeTDS正常工作,因为你可以使用tsql。你试过用isql连接吗?
请查看此howto以获取详细信息。我认为你需要的部分是在页面上设置unixodbc。
答案 1 :(得分:2)
像这样编辑文件/etc/odbcinst.ini
[Microsoft Access Driver (*.mdb)]
Description = Microsoft Access Driver (*.mdb)
Driver = /path/to/file/libmdbodbc.so
Setup = /path/to/file/libtdsS.so
CPTimeout =
CPReuse =
文件/etc/odbc.ini
[Microsoft Access Driver (*.mdb)]
Description = SQL Server
Driver = Microsoft Access Driver (*.mdb)
Trace = No
TraceFile = /tmp/mssodbc.log