无法使用pymssql连接到mssql db

时间:2013-07-15 19:52:58

标签: python sql-server freetds pymssql

我已正确安装和配置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)。有谁知道我做错了什么,或者我怎么解决这个问题?

1 个答案:

答案 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.htmmirror

基本上:

$ export TDSDUMP=/tmp/freetds.log