无法在Python的Windows 7上使用PYODBC连接到远程MS SQL server

无法在Python的Windows 7上使用PYODBC连接到远程MS SQL server,python,sql-server,Python,Sql Server,因此,我在尝试连接到我的服务器时遇到了一些问题,该服务器位于我的网络上,但与我尝试运行的程序位于不同的计算机上。我检查过了,两台计算机都在同一个域上。我正在用python编写代码,并使用PYODBC建立连接。 连接线如下所示: connectLine = 'DRIVER={SQL Native Client};SERVER='+configValues['host']+';DATABASE='+configValues['db']+';UID='+configValues['user']+';P

因此,我在尝试连接到我的服务器时遇到了一些问题,该服务器位于我的网络上,但与我尝试运行的程序位于不同的计算机上。我检查过了,两台计算机都在同一个域上。我正在用python编写代码,并使用PYODBC建立连接。 连接线如下所示:

connectLine = 'DRIVER={SQL Native Client};SERVER='+configValues['host']+';DATABASE='+configValues['db']+';UID='+configValues['user']+';PWD='+configValues['passwd']
db = pyodbc.connect(connectLine)
现在,当服务器与程序位于同一台计算机上时,它就可以工作了,但当我尝试连接到实际服务器上的服务器时,它就不工作了。我正在Windows SBS 2003上运行MicrosoftSQL Express 2005,运行该程序的计算机正在运行Windows 7,程序代码为Python 2.7

这是程序的输出,我让它打印连接线

DRIVER={SQL Native Client};SERVER=192.168.1.103\OSBORNE;DATABASE=vpmser;UID=massEmailer;PWD=cogbutfeswas5836;
Traceback (most recent call last):
File "E:\Mass Emailer\massEmailer.py", line 56, in <module>
db = pyodbc.connect(connectLine)
Error: ('08001', '[08001] [Microsoft][SQL Native Client]SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].  (-1) (SQLDriverConnectW); [HYT00] [Microsoft][SQL Native Client]Login timeout expired (0); [08001] [Microsoft][SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (-1)')
DRIVER={SQL原生客户端};服务器=192.168.1.103\OSBORNE;数据库=vpmser;UID=邮件群发器;PWD=cogbutfeswas5836;
回溯(最近一次呼叫最后一次):
文件“E:\Mass Emailer\masseemailer.py”,第56行,在
db=pyodbc.connect(connectLine)
错误:('08001','[08001][Microsoft][SQL本机客户端]SQL网络接口:定位指定的服务器/实例[XFFFFFF]。(-1)(SQLDriverConnectionW);[HYT00][Microsoft][SQL本机客户端]登录超时已过期(0);[08001][Microsoft][SQL本机客户端]建立与服务器的连接时出错。连接到SQL server 2005时,此故障可能是因为在默认设置下,SQL server不允许远程连接。(-1)“”
一些可能性:

(1) 关于连接字符串的这部分:
SERVER=192.168.1.103\OSBORNE。。。部分非通用错误消息显示“
查找指定的服务器/实例时出错”

来自以下方面的说明:

“”“您正在使用SQL Server 2005 Express吗?请不要错过服务器名称语法Servername\SQLEXPRESS,在该语法中,您可以用SQL Server 2005 Express安装所在的计算机的名称替换Servername。”“”

如果
OSBORNE
不是远程服务器的名称,它是什么?为什么要包括IP地址

也许您应该使用
OSBORNE\SQLEXPRESS
而不是
192.168.1.103\OSBORNE

(2) 在错误消息的末尾,它显示“连接到SQL Server 2005时,此故障可能是由于在默认设置下SQL Server不允许远程连接而导致的。”“”。。。您是否已检查(a)SQL Server Express是否支持远程连接(b)是否已将其配置为允许远程连接


(3) 您是否可以使用(a)使用您正在使用的用户名和密码远程登录到服务器机器(b)在客户端机器上运行并使用DSN指向远程机器和数据库的查询工具来远程访问数据库?如果是这样,连接参数与连接字符串中的参数有何不同?

连接字符串中有4个内容未知变量,您没有说明收到的错误消息,也没有提供回溯——这不太可能得出有意义的答案。是的,抱歉,忘了将错误输入,但这似乎是一个普遍的错误。将其添加到OP中