我正在尝试将CSV(或数据帧)中的数据插入MS SQL Server。 表已经创建好了,我使用pyodbc在SQL中创建了列。在
我试图用DataFrame中的一列填充表中的第一列,但出现以下错误:
Error: ('07002', '[07002] [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error (0) (SQLExecDirectW)')
我尝试添加一个不同的列,看看是否是该列的问题,我得到了相同的错误。(列中没有空值。)
conn = pyodbc.connect("Driver={SQL Server};"
"Server=natsqldevap2ncr\ins2;"
"Database=ECDWDEV;"
"Trusted_Connection=yes;")
for i in df.iloc[:,0]:
insert_query1 = """INSERT INTO TABLE_NAME(COLUMN_NAME)
VALUES
(?)"""
cursor = conn.cursor()
result = cursor.execute(insert_query1)
conn.commit()
应为列中的所有值(测向仪[:,0]),插入到SQL表“table_NAME”的列“column_NAME”。在
取而代之的是:
Error: ('07002', '[07002] [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error (0) (SQLExecDirectW)')
您得到错误消息是因为您试图使用参数化查询,但没有将参数值传递给
execute
方法。在此外,不需要通过在显式的
for
循环中调用execute
来逐行插入。您可以使用executemany
代替:相关问题 更多 >
编程相关推荐