我正在尝试使用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] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我还尝试了:
engine = create_engine('mssql+pyodbc://Driver={SQL Server Native Client 11.0};Server=myServer;Database=myDB;Trusted_Connection=yes;')
conn = engine.connect()
这导致以下错误:
虽然我可以通过以下方式成功连接pyodbc:DBAPIError: (pyodbc.Error) ('IM010', '[IM010] [Microsoft][ODBC 驱动程序 管理器] 数据源名称过长 (0) (SQLDriverConnect)')
conn = pyodbc.connect('DRIVER={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')
我似乎无法使这项技术在 sqlalchemy 中工作。
如果有任何帮助,将不胜感激。
engine = create_engine('mssql+pyodbc://@myServer/myDB?trusted_connection=yes&driver=SQLServer+Native+Client+11.0')
。 - norbeq