无法从Windows XP中的python脚本连接到Sqlserver

时间:2015-07-30 13:55:09

标签: python sql-server windows windows-xp pymssql

我使用的是使用Microsoft SQl Server Enterprise Edition版本8.00.194,SQL-DMO版本:8.00.02和ODBC版本:03.52.0000的Windows XP计算机。我在同一网络中的另一台机器上有另一个MySql数据库,我想从该数据库中检索数据到我的XP机器的Sqlserver数据库。为此,我试图检查是否可以使用以下python脚本连接到本地计算机(我为此目的使用pymssql库):

import pymssql

con1=pymssql.connect(server="localhost:1433",user="XXXX",password="XXXX",database="XXXX")
print con1
con1.close()

我故意删除了原始用户名,密码和数据库名称。运行上面的脚本后,我得到错误:

Traceback (most recent call last):
  File "D:\py_script_data_1st\1.py", line 9, in <module>
    con1=pymssql.connect(server="localhost:1433",user="xxxx",password="xxxx",database="xxxx")
  File "pymssql.pyx", line 636, in pymssql.connect (pymssql.c:10178)
OperationalError: (20009, 'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist\nNet-Lib error during Unknown error (10061)\n')

我进行了广泛的搜索,但没有得到任何有效的解决方案。我得到的是打开端口1433.我按照给出的https://support.microsoft.com/en-us/kb/841251

指令在防火墙中打开了sqlserver.exe实例

当我使用以下命令在端口1433上进行telnet:

telnet localhost 1433

我收到无法连接到端口1433的错误。

我还想补充一点,我工作的数据库是一个图书馆系统。有两台机器在其上发生/返回书籍的交易。因此,另一台机器(也是一台Windows XP机器)使用一个使用netbios-ssn进行通信的软件连接到服务器机器。我通过使用netstat命令找到了这个事实。以下是该命令的输出:

TCP    issue:netbios-ssn      192.168.48.45:2211     ESTABLISHED
TCP    issue:netbios-ssn      192.168.48.48:3456     ESTABLISHED

我对这些事实非常困惑。我不明白其他机器访问服务器的数据库如何使用netbios-ssn端口?

所以,我实际上有两个问题,任何一个问题的解决方案都可以帮助我。

  1. python脚本问题的解决方案是什么?
  2. 如果第一个问题无法解决,如何使用netbios-ssn端口实现与数据库的连接?
  3. 如果您愿意,请随时提出帮助,随时提出更多信息。

0 个答案:

没有答案