【发布时间】:2016-01-06 14:01:52
【问题描述】:
我在同一网络中有一个 MS SQL 数据库,但在另一台计算机上。 使用 SQL Server Management Studio (SSMS) Express,我可以找到数据库并毫无问题地连接。
但是当我使用 pyodbc 连接到同一台服务器时:
import pyodbc
server = r"xxxER\xxxSQLSERV"
db = "xxxDB"
user = "xxx"
password = "xxxx"
conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)
我收到以下错误:
pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC SQL Server Driver]Login timeout expired (0) (SQLDriverConnect)')
OBS:我猜服务器字符串应该是正确的,因为如果我更改它,我总是会收到以下错误:
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53)')
此处显示使用 SQL Server Studio Express 远程连接成功的图像。
【问题讨论】:
-
使用此代码:
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)如果不起作用,请将版本 17 更改为 15 或 14 或 ...
标签: python sql sql-server ssms pyodbc