我已正确安装和配置FreeTDS。我的freetds.conf文件将附加到结尾:
[myserver]
host = myserver
port = 1433
tds version = 7.0
我可以运行以下命令给我一个SQL提示符:
tsql -S myserver -U username
我的python脚本非常小,试图成功连接到数据库:
#! /path/to/python/bins
import pymsql
conn = pymssql.connect(host='myserver', user='username', password='password', database='database', as_dict=True)
conn.close()
但是当我运行它时,我收到以下错误:
Traceback (most recent call last):
File "./test.py", line 5, in <module>
conn = pymssql.connect(host='myserver', user='username', password='password', database='database', as_dict=True)
File "pymssql.pyx", line 456, in pymssql.connect (pymssql.c:6017)
pymssql.InterfaceError: Connection to the database failed for an unknown reason.
是什么导致这个?根据我的搜索结果,遇到此问题的大多数人都错误地配置了freetds.conf文件;但是,我可以成功连接(使用tsql)。有谁知道我做错了什么,或者我怎么解决这个问题?
答案 0 :(得分:3)
我刚查看了pymssql
代码,很可能你遇到了MSSQL驱动程序的问题。 https://code.google.com/p/pymssql/source/browse/pymssql.pyx?name=1.9.908#456
尝试在FreeTDS中配置日志记录以查看“未知原因”:请参阅http://freetds.schemamania.org/userguide/logging.htm(mirror)
基本上:
$ export TDSDUMP=/tmp/freetds.log