pyodbc无法连接到本地MSSQL服务器

时间:2019-04-30 08:16:41

标签: python-3.x sql-server-2012 debian pyodbc

我想使用Debian8主机上的pyodbc从Python连接到MSSQL server2012。当前代码已适用于Azure SQL Server,但不适用于本地SQL Server。 连接字符串如下所示:

import pyodbc

server = 'IP' 
database = 'DB_Name'
username = 'user'
password = 'pass'
driver = '{ODBC Driver 17 for SQL Server}'

cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)

我必须使用IP地址,因为我无法通过名称访问SQL Server。我可以在Windows计算机上使用SSMS连接到服务器。我也尝试了以下组合:

server='sqlservername\instancename'
server='IP, port'
server='IP\instancename'
driver='SQL Server'
Integrated_Security=false;
Trusted_Connection=no;

但是他们都不起作用。我收到登录超时或注册用户时出错。我在Windows计算机上运行了相同的python代码,没有任何问题。

1 个答案:

答案 0 :(得分:0)

最后,我找到了正确的组合。除了感谢@GordThompson之外,TCP / IP已启用但在另一个端口上。

import pyodbc

server = 'IP\InstanceName, port' 
database = 'DB_Name'
username = 'user'
password = 'pass'
driver = '{ODBC Driver 17 for SQL Server}'

cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)