我正在尝试使用 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 做这项工作。
任何帮助,将不胜感激。
噜噜哒
繁星coding
相关分类