gpt4 book ai didi

sql - df.to_sql 连接问题,知道吗?

转载 作者:行者123 更新时间:2023-12-03 04:09:01 26 4
gpt4 key购买 nike

下面是我的代码我想将 python 数据帧导出到 azure SQL

df

Date ... Count
1 2019-09-04 ... 0
2 2019-09-04 ... 0

params = urllib.parse.quote_plus(r'Driver={ODBC Driver 13 for SQL Server};Server=tcp:xxxxxxx.database.windows.net,1433;Database=aaaaaaa;Uid=user@aaaaaaa;Pwd=$$$$$$$$$$$;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;')

conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine_azure = create_engine(conn_str,echo=True)

df.to_sql('users', con=engine)

以下错误:

sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

(此错误的背景:http://sqlalche.me/e/rvf5)

最佳答案

听起来您想通过函数 pandas.DataFrame.to_sql 将 pandas 数据框保存到 Azure SQL 数据库.

有一个SO线程Locating ODBC Driver 13.0 for SQL Server on Ubuntu Azure VM我回答显示 SQLAlchemy 和 pyodbc 的连接代码。所以我认为你的代码是正确的。

但是,根据您的错误信息,似乎您没有先安装Microsoft ODBC Driver for SQL Server,而只是安装了Python包pyodbcsqlalchemy。所以请先从https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017下载相关的odbc驱动并安装它。然后再次尝试您的代码。

如果您刚刚创建了 Azure SQL 数据库,我建议您需要安装 2017 版本的 MS ODBC 驱动程序,并使用 Driver={ODBC Driver 17 for SQL 更改连接字符串服务器}(对于 2013 驱动程序版本,不是 13),因为 MS 2013 ODBC 驱动程序不支持最新的 Azure 数据库。

关于sql - df.to_sql 连接问题,知道吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57857761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com