下面是回溯。我已经读了所有其他的SO线程,在谷歌上搜索了两个多小时,但无法弄明白这一点。以下是我尝试过的:
>
列表项
回溯(最近一次调用):文件“PythonScript.py”,第75行,在conn=pyodbc.Connect(Driver='{SQL Server}‘,Server='ipaddress,1443',database='master',uid='xyz\login',pwd='password')pyodbc.error:('08001','[08001][Microsoft][ODBC SQL Server驱动程序][DBNETLIB]SQL Server不存在或访问被拒绝。(17)(SQLDriverConnect);[01000][Microsoft][ODBC SQL Server驱动程序]
下面是我尝试使用的连接字符串的一些示例:
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地址尝试了上述两种方法。我不知道怎么才能让它在这一点上起作用。
是否确认了服务器之间的连通性?尝试telnet-
telnet服务器名1433
如果连接,那么您可以关注Python或连接字符串的问题。
在连接字符串中,将其更改为使用PORT参数,而不是1433。就像-
服务器=1.1.1.1;端口=1433;
我还想说,你最好把整根绳子都传递出去。下面是我在Linux上使用Freetd所做的工作-
self.db_connection=pyodbc.connection(“driver=freetds;server=1.1.1.1;port=1433;database=mydb;uid=myuser;pwd=mypass;tds_version=8.0;”)