猿问

无法使用 sqlalchemy 建立连接 SQL Server

我正在尝试使用 Python 从 Pandas 数据帧上传到 SQL Server 表,但我无法使用 sqlalchemy 成功创建连接。我知道我首先需要使用 create_engine() 创建一个引擎对象,然后使用 engine.connect() 创建一个连接对象,但我在 create_engine() 中输入的任何字符串似乎都不起作用。我尝试了以下方法:


engine = create_engine('mssql+pyodbc://myServer/myDB')

conn = engine.connect()

和:


engine = create_engine('mssql+pyodbc://Server=myServer;Database=myDB;')

conn = engine.connect()

和:


engine = create_engine('mssql+pyodbc://Driver={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')

conn = engine.connect()

但都导致以下错误:


InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')


我也试过:


engine = create_engine('mssql+pyodbc://Driver={SQL Server Native Client 11.0};Server=myServer;Database=myDB;Trusted_Connection=yes;')

conn = engine.connect()

这导致以下错误:


DBAPIError: (pyodbc.Error) ('IM010', '[IM010] [Microsoft][ODBC Driver Manager] 数据源名称太长 (0) (SQLDriverConnect)')


虽然我可以像这样使用 pyodbc 成功连接:


conn = pyodbc.connect('DRIVER={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')

我似乎无法为 sqlalchemy 做这项工作。


任何帮助,将不胜感激。


大话西游666
浏览 619回答 2
2回答

噜噜哒

解决方案:engine = create_engine('mssql+pyodbc://ERRSTSDBP2/ActPri?driver=SQL+Server+Native+Client+11.0')感谢norbeq让我一路走到了那里!

繁星coding

您可以尝试这样连接:engine = create_engine('mssql+pyodbc://user:password@host:port/myDB')conn = engine.connect()
随时随地看视频慕课网APP

相关分类

Python
我要回答