在 Pandas to_sql 中使用方法和块大小时出错

我正在尝试加快 pandas .to_sql() 函数的速度,因为目前将 22 列和 100K 行的表转储到 MS SQL Server Db 需要大约 30 分钟。我试过使用 method='multi'chunksize=1000(我读过是 sql server 的最大值)但是得到以下错误,一堆?s 在错误中,我的数据在错误的 [parameters: 部分:

DBAPIError: (pyodbc.Error) ('07002','[07002] [microsoft][ODBC Driver 17 for SQL Server]COUNT field incorrect or syntax error (0) (SQLExecDirectW)')

VALUES (?,?,?)

[parameters: (one big tuple)]

这是我使用的代码:

user_name = 'username'
cred = open('filename','r').read()
server_name = 'XXXXXXXX'
port = 'XXXX'
DB = 'database'
driver = 'ODBC Driver 17 for SQL Server'

conn = create_engine('mssql+pyodbc://'+user_name+':'+cred+'@'+server_name+':'+port+'/'+DB+'?driver='+driver)

df.to_sql('test_table',con=conn,if_exists='replace',schema='dbo',method='multi',chunksize= 1000)

关于这里正在发生的事情或其他加快速度的替代方法有什么想法吗?

sam_xiaosa 回答:在 Pandas to_sql 中使用方法和块大小时出错

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/651010.html

大家都在问