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

2024-05-17 03:44:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以用mssql management studio连接到服务器,但不能用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)')

Tags: 字符串ipsqlserverdriverconnectconnmanagement
2条回答

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

DRIVER={SQL Server};SERVER=cloak;DATABASE=test;UID=user;PWD=password

DRIVER={SQL Native Client};SERVER=dagger;DATABASE=test;UID=user;PWD=password

DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password

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

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

最后,您需要“sqlservernativeclient10.0”来实现SQL Server 2008的功能和类型。

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

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

相关问题 更多 >