我试图通过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.
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
我错过了某些东西 - 我只是不知道它是什么.我在Windows上尝试了所有无限的菜单选项都无济于事.我注意到的一件事是,如果打开了Windows防火墙(我为SQL Server设置了一个例外),python会暂停很长时间然后给出错误.如果防火墙关闭,则错误是即时的.
我可以在SQL Server中看到任何日志吗?
我无法在 Windows 10 上从 Python(3.4.4 64 位)连接到 SQL Server。这就是我所做的:
easy_install pymssql因此,此时我可以使用 SQL Server Management Studio 运行 SQL Server 并连接到我的数据库。当我登录时,我使用DESKTOP-1JA5E9F\SQLEXPRESS服务器名称、sa登录名和123密码。此外,在 Python shell 中,我可以pymssql像这样导入:
>>> import pymssql
Run Code Online (Sandbox Code Playgroud)
它不会引发任何错误。但是,我无法连接到我的数据库实例。我尝试了几十次尝试,例如:
conn = pymssql.connect(host=r'DESKTOP-1JA5E9F\SQLEXPRESS',
user=r'sa', password=r'123', database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
^^^ 上面的代码永远不会完成(我看到只是_在外壳中闪烁,那是永远闪烁)。我也试过这个:
conn = pymssql.connect(host=r'SQLEXPRESS', user=r'sa', password=r'123', database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
这导致pymssql.InterfaceError: Connection to the database failed for an unknown reason.. …