python-3.x 无效的SQL数据类型(0)(SQLBindParameter)')

vbkedwbf  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(127)

我正在尝试使用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列类型


bzzcjhmw

bzzcjhmw1#

我遇到了同样的错误,对我来说,这个问题的答案起了作用:
使用pandas将行插入Microsoft SQL Server会引发精度错误
我把我的驱动程序从“SQL Server”更改为“ODBC Driver 17 for SQL Server”
此外,最初,这在我的Python环境中用Pandas 1.x工作,但当我切换到Pandas 2.0时,它停止工作。我不得不改变驱动程序,使它在两个版本的Pandas中工作

相关问题