使用pymssql无法连接到mssql数据库

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)。有没有人知道我做错了什么,或者我该如何解决这个问题?

1个回答

4

看起来它没有尝试连接到我在freetds.conf文件中指定的端口:net.c:210:Connecting to <server-ip> port 4000 (TDS version 5.0) - EGr
我找到了一种方法来建立连接(尽管现在出现了其他错误); 我只需要在Python代码中指定端口。所以在host=myserver的地方,我会写成host=myserver:port。虽然我的所有问题都没有解决,但我问的那个问题已经解决了。谢谢! - EGr
我还应该注意到我不得不创建以下环境变量:TDSVER=8.0 - EGr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接