【发布时间】:2011-05-08 05:21:20
【问题描述】:
我正在尝试通过 pymssql 从本地服务器上的 *nix 系统连接到在 Windows XP 系统上运行的 SQL Server。但是,连接失败,如下图所示
db = pymssql.connect(host='192.168.1.102',user='www',password='test',database='TestDB')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 457, in pymssql.connect (pymssql.c:6041)
raise InterfaceError(e[0])
pymssql.InterfaceError: Connection to the database failed for an unknown reason.
我尝试过的事情:
- 将 SQL Server 和浏览器设置为作为网络服务器运行。
- 设置用户“www”。我还在 SQL Studio 中本地测试了这个用户。
- 关闭了 Windows 防火墙(当然是暂时的)。
我错过了一些东西 - 我只是不知道它是什么。我尝试了 Windows 上的所有无限菜单选项,但均无济于事。我注意到的一件事是,如果 Windows 防火墙已打开(我为 SQL Server 设置了一个例外),python 会暂停很长时间,然后给出错误。如果防火墙关闭,错误就会立即发生。
我可以在 SQL Server 中查看任何日志吗?
【问题讨论】:
-
低级调试使用wireshark。
-
谢谢!我运行了wireshark,它提供了一些数据——它出现了一个简单的“ack”。然而,似乎没有太多事情要做。信息显示“ms-sql-s > 50051 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0.
-
我看到了更多细节。 “专家信息”状态为“连接重置 (RST)” - 不知道为什么。
-
我发现我无法 telnet 127.0.0.1 1433。我得到“连接失败”。我验证了服务器正在运行并且端口#.我会继续努力的。
-
你有“sql server management studio”吗?