无法使用SQLalchemy连接到mssql服务器,出现操作错误和接口错误

4

我一直在试图使用SQLalchemy连接mssql数据库,但无法连接。我遇到了两种不同的错误-以下是我的代码-

import sqlalchemy
from sqlalchemy import create_engine 
engine = 
create_engine("mssql+pymssql://username:password@DSNsource")
connection = engine.connect()

并且以下是需要翻译的代码

engine = 
sqlalchemy.create_engine('mssql+pyodbc://user:password@server/database', pool_pre_ping=True)
connection = engine.connect()

我遇到了以下错误--

InterfaceError: (pymssql.InterfaceError) 连接数据库失败,原因未知。 (有关此错误的详细信息,请访问:http://sqlalche.me/e/rvf5

尝试使用 pyodbc 而不是 pymssql 但是出现了不同的错误。

import sqlalchemy
from sqlalchemy import create_engine 
engine = 
create_engine("mssql+pyodbc://username:password@DSNsource")
connection = engine.connect()

OperationalError: (pyodbc.OperationalError) ('08001', '[Microsoft][ODBC驱动程序13 for SQL Server]命名管道提供程序: 无法打开到SQL Server的连接 [53]. (53) (SQLDriverConnect); [Microsoft][ODBC驱动程序13 for SQL Server]登录超时 (0); [Microsoft][ODBC驱动程序13 for SQL Server]在建立与SQL Server的连接时发生了特定于网络或实例的错误。 未找到服务器或无法访问服务器。 检查实例名称是否正确,以及SQL Server是否配置为允许远程连接。 有关详细信息,请参见SQL Server图书在线。 (53)')(有关此错误的背景,请参见:http://sqlalche.me/e/e3q8
1个回答

0

pymssql库可能已经过时,很快可能无法使用。我最终使用了以下代码的pyodbc:

import pyodbc

dsn="DRIVER={SQL Server name};server=server_name;database=db_name;uid=user_name;pwd=password" cnxn = pyodbc.connect(dsn) cursor = cnxn.cursor()

在此之前,请转到控制面板 -> 管理工具 -> ODBC数据源(根据您的系统配置选择32位或64位),进入系统DSN并确保您要使用的DSN存在。如果没有,请添加一个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接