3

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

4

1 回答 1

4

我刚刚查看了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镜像

基本上:

$ export TDSDUMP=/tmp/freetds.log
于 2013-07-17T21:46:12.010 回答