如何修复ORA-01036:非法的变量名称/编号DatabaseError

时间:2019-02-14 07:47:08

标签: python sql sql-insert cx-oracle

我正在尝试使用python(csv)在Oracle数据库中写入pandas dataframe文件(或cx_Oracle)的某些行。

我将数据框/ csv的行复制到列表rows中,其外观如下:

``

 [....,
 ['977', '980', '40', '152.9', '2011-08-22'],
 ['978', '981', '41', '155.5', '2011-08-22'],
 ['979', '982', '42', '149.3', '2011-08-22'],
 ['980', '983', '43', '153.5', '2011-08-22'],
 ['981', '984', '44', '149.5', '2011-08-22'], 
 ....]

``

不同行的第一个元素是主键。数据库中的表具有相同的结构。 我尝试如下复制表中的行:

``

cursor.prepare('insert into REGULAR values (:1, :2, :3, :4)')
cursor.executemany(None, rows)
connection.commit()

``

因此,我总是会收到此错误: DatabaseError: ORA-01036: illegal variable name/number

有人可以帮忙吗?谢谢!

PS .:我已经找到了与该错误有关的问题的线程,但这无济于事,因为情况完全不同。

0 个答案:

没有答案