预期 URI 为字符串 to_sql()

我正在尝试将大型 dask 数据帧上传到 sql 服务器,但出现错误并且看不到连接字符串有任何问题。我可以使用此连接字符串连接到数据库,但在运行以下命令时出现错误:


import sqlalchemy as sa

import dask.dataframe as dd

from dask.diagnostics import ProgressBar

pbar = ProgressBar()

pbar.register()

#windows authentication + fast_executemany=True

to_sql_uri = sa.create_engine('mssql+pyodbc://TEST-BI/DB_TEST?driver=SQL Server?Trusted_Connection=yes', fast_executemany=True)

ddf.to_sql('test', uri=to_sql_uri, if_exists='replace', index=False)

ValueError:预期 URI 为字符串,得到 <class 'sqlalchemy.engine.base.Engine'>。


我尝试强制将 to_sql_uri 转换为字符串,但仍然出现错误。


繁星淼淼
浏览 125回答 1
1回答

料青山看我应如是

如果文档不够清晰(文档页面、 API 参考),我很抱歉。但是,您没有在调用中传递字符串,而是传递了一个引擎实例,这就是错误消息的内容。你应该做ddf.to_sql('test',      uri='mssql+pyodbc://TEST-BI/DB_TEST?driver=SQL Server?Trusted_Connection=yes',      if_exists='replace', index=False)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python