我正试图使用以下代码将Pandas数据code导出到Server:
import pyodbc
import sqlalchemy
from sqlalchemy import engine
DB={'servername':'NAME', 'database':'dbname','driver':'driver={SQL Native Client 11.0}'
}
engine=create_engine('mssql+pyodbc://'+'DB['servername']+'/'+['database']+'/'+['driver'])
df.to_sql(con=engine,'test')它显示的错误是
未指定数据源名称,也未指定默认驱动程序
df有1列和90k-100 k行,如何克服这个问题才能将dataframe (df)导出到Server?
发布于 2022-02-14 08:23:45
熊猫使用SQLAlchemy连接数据库,而数据库又可以使用PyODBC。微软的建议使用PyODBC连接到Server。
用于Server的SQLAlchemy文档显示连接字符串应该具有以下形式:
"mssql+pyodbc://user:password@myhost:port/databasename?driver=ODBC+Driver+17+for+SQL+Server"即
engine = create_engine("mssql+pyodbc://user:password@myhost:port/databasename?driver=ODBC+Driver+17+for+SQL+Server")还可以使用ODBC连接字符串:
from sqlalchemy.engine import URL
connection_string = "DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password"
connection_url = URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})
engine = create_engine(connection_url)您必须为操作系统安装PyODBC和正确的Server驱动程序。Python上的Server文档链接到适用于Windows、各种Linux发行版和MacOS的适当驱动程序
如果无法保存到Server,请使用Server入门教程确保可以连接到数据库
https://stackoverflow.com/questions/71108760
复制相似问题