我正在尝试使用PYODBC包将Pandas Dataframe插入到SQL表。但当我运行代码时它说
- 错误:('HY004 ','[HY004] [Microsoft][ODBC SQL Server Driver]无效的SQL数据类型(0)(SQLBindParameter)')*
列类型正常。
详情如下
编码
for index, row in final_df.iterrows():
print(row)
cursor.execute("INSERT INTO CourseOutline ([ActivityTypeID] ,[ActivityID],[Sequence],[CourseTypeID] ,[Duration], [MinistryCode] ,[FGCCode] ,[Percentage],[ModuleID] ,[PageNo]) values(?,?,?,?,?,?,?,?,?,?)", final_df.ActivityType, final_df.DBID,final_df.Seq,final_df.CourseType,1,'MinistryCodes','FGCCodes',final_df.Percentage,final_df.Module,final_df.PgNo)
cnxn.commit()
cursor.close()
字符串
数据框列类型
SQL列类型
的
1条答案
按热度按时间bzzcjhmw1#
我遇到了同样的错误,对我来说,这个问题的答案起了作用:
使用pandas将行插入Microsoft SQL Server会引发精度错误
我把我的驱动程序从“SQL Server”更改为“ODBC Driver 17 for SQL Server”
此外,最初,这在我的Python环境中用Pandas 1.x工作,但当我切换到Pandas 2.0时,它停止工作。我不得不改变驱动程序,使它在两个版本的Pandas中工作