如何使用Python中的pyodbc通过IP地址连接到sql server 2008

时间:2011-01-10 12:55:42

标签: python sql pyodbc

我可以使用mssql管理工作室连接到服务器,但无法使用python连接我认为连接字符串中的一些问题请帮助下面是我正在使用的字符串。

import pyodbc as p

connStr = ( r'DRIVER={SQL Server};Server=ip; Network=DBMSSOCN;Initial Catalog=' + database + ';User ID=' + id +';Password=' + pass1 +';Trusted_Connection=True' +';')

conn = p.connect(connStr)

错误如下所示

 conn = p.connect(connStr)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][TCP/IP Sock
ets]SQL Server does not exist or access denied. (17) (SQLDriverConnectW); [01000
] [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen (Connect()).
 (10060); [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string a
ttribute (0)')

2 个答案:

答案 0 :(得分:6)

经过大量的跟踪和错误后,这个字符串起作用了:

connStr = ('DRIVER={SQL Server Native Client 10.0};Server=ip;port=port;Network Library=DBMSSOCN;Database=TEST;uid=id;pwd=pass;')

答案 1 :(得分:3)

Microsoft实际上有两个或三个SQL Server驱动程序编写和分发:一个称为“SQL Server”,另一个称为“SQL Native Client”和“SQL Server Native Client 10.0”。

  

<强> DRIVER = {SQL   服务器}; SERVER =斗篷; DATABASE =测试; UID =用户; PWD =密码

     

DRIVER = {SQL Native   客户端}; SERVER =匕首; DATABASE =测试; UID =用户; PWD =密码

     

DRIVER = {SQL Server Native Client   10.0}; SERVER =匕首; DATABASE =测试; UID =用户; PWD =密码

“SQL Server”适用于所有版本的SQL Server,但只支持SQL Server 2000支持的功能和数据类型,无论您的实际服务器版本如何。

对于SQL Server 2005安装,请使用“SQL Native Client”启用2005功能和类型。请注意,并非所有SQL Server 2008安装都提供此版本!

最后,SQL Server 2008的功能和类型需要“SQL Server Native Client 10.0”。