以下是追溯。我已经阅读了所有其他SO线程,用Google搜索超过两个小时,并且无法解决这个问题。这是我尝试过的:
列出项目
追踪(最近一次通话): 文件" pythonscript.py",第75行,in conn = pyodbc.connect(driver =' {SQL Server}',server =' ipaddress,1443',database =' master',uid =&#39 ; XYZ \ login',pwd ='密码') pyodbc.Error:(' 08001',' [08001] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] SQL Server不存在或访问被拒绝。(17)(SQLDriverConnect); [ 01000] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionOpen(Connect())。(53)'
以下是我尝试连接字符串的一些示例:
conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = '1.1.1.1,1443', database = 'master')
然后
conn = pyodbc.connect(driver='{SQL Server}', server='1.1.1.1,1443', database='master', uid='xyz\login', pwd='pwd'
然后我也尝试了上面的两个服务器名称(文本)而不是IP地址。我不知道如何让它在这一点上起作用。
答案 0 :(得分:1)
您确认服务器之间有连接吗?试试telnet -
telnet serverName 1433
如果连接,那么您可以专注于Python或连接字符串的问题。
在连接字符串中,将其更改为使用PORT参数而不是1433。像 -
这样的东西SERVER = 1.1.1.1; PORT = 1433;
我还会说你传递整个字符串可能会更好。以下是我在使用FreeTDS的Linux上所做的事情 -
self.db_connection = pyodbc.connect(" DRIVER = FreeTDS; SERVER = 1.1.1.1; PORT = 1433; DATABASE = myDB; UID = myUser; PWD = myPass; TDS_Version = 8.0;")