我在同一网络但在其他计算机上有一个 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 进行远程连接时成功的图像。
尝试指定端口:
import pyodbc
server = r"xxxER\xxxSQLSERV"
db = "xxxDB"
user = "xxx"
password = "xxxx"
port = "1433"
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';PORT=' + port + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)
如果问题仍然存在,请尝试使用服务器的 IP 或 FQDN。
我是一名优秀的程序员,十分优秀!