首页 > 解决方案 > Python 不会写入我创建的 SQL 表,而是创建另一个

问题描述

我正在尝试让我的代码将 DataFrame 上传到我已经在 SQL 数据库中创建的表中。

但是,它不会写入该表,而是创建另一个具有相同名称但有一些额外文本字符串的表。

该表是[Database].[dbo].[myTable]

代码创建的表是[Database].[dbo].[DIR\User.myTable]

这是代码,它在过去一直有效,所以我不确定现在会出现什么问题

params = urllib.parse.quote_plus(r'DRIVER={SQL Server Native Client 11.0}; Trusted_Connection=yes; Server='servername005.azr.com, DATABASE=Database; application intent=readwrite'
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine = sqlalchemy.create_engine(conn_str, fast_executemany=True)
df.to_sql("myTable", con=engine, if_exists='replace', index=True)

提前致谢!

标签: pythonsqlazurepyodbc

解决方案


上面一位用户解决了!我不确定我是否可以将他/她的评论标记为已解决,但这是有效的。将 schema="dbo" 添加到 to_sql 方法。

谢谢!

params = urllib.parse.quote_plus(r'DRIVER={SQL Server Native Client 11.0}; 
Trusted_Connection=yes; Server='servername005.azr.com, DATABASE=Database; application intent=readwrite'
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine = sqlalchemy.create_engine(conn_str, fast_executemany=True)
df.to_sql("myTable", con=engine, if_exists='replace', schema="dbo" index=True)

推荐阅读