【发布时间】:2022-08-13 05:09:22
【问题描述】:
我正在尝试建立与 SQL Server 的连接,以便我可以将我的 df 上传到一个表(使用.to_sql())并稍后使用这个新表运行一个查询。我的问题是,当尝试建立与 SQL Server 的连接(工作数据库在 SQL Server 上)时,我在尝试几种不同的方法时收到相同的错误消息。
#Method 1
TR_info = pd.read_excel(TR_path, sheet_name = \'TR information\', skiprows = 3)
cnxn_str = (r\"Driver={SQL Server Native Client 11.0};\"
r\"Server=server_name;\"
r\"Database=ALDB;\"
r\"Trusted_Connection=yes;\")
cnxn = pyodbc.connect(cnxn_str)
TR_info.to_sql(name=\'tr_info\', schema=\'RF1\', con = cnxn, index=False, if_exists=\'replace\')
#Method 2
TR_info = pd.read_excel(TR_path, sheet_name = \'TR information\', skiprows = 3)
import sqlalchemy as sal
engine = sal.create_engine(\'mssql+pyodbc://server_name/ALDB?driver=SQL Server Native Client 11.0?Trusted_Connection=yes\')
conn = engine.connect()
TR_info.to_sql(name=\'tr_info\', schema=\'RF1\', con = conn, index=False, if_exists=\'replace\')
两种方法都给我以下错误消息。
(pyodbc.InterfaceError) (\'IM002\', \'[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)\') (此错误的背景:https://sqlalche.me/e/14/rvf5)
最后,我还确认我在我的 ODBC 数据源管理器中设置了 SQL Native client 11.0,所以不是这样。
-
这回答了你的问题了吗? pandas to sql server
-
不,我也看到了,并将其用于我的第二种方法,但仍然收到相同的错误消息。除非你能看到我的方法和你链接的我错过的方法之间有什么区别?请注意,我的连接是受信任的连接,而该示例不是,但我认为我已正确格式化它..
-
你打电话给
engine.connect()。在示例中,引擎对象被赋予to_sql -
还可以在第一条评论中查看连接字符串的不同格式
-
标题中的错误信息与问题本身的错误信息有很大不同。我很困惑。
标签: python sql-server sqlalchemy pyodbc