【发布时间】:2013-01-29 08:50:49
【问题描述】:
我要做的是使用 cx_Oracle 插入一堆行,如果有错误(即违反约束)记录坏行。
这里是我如何使用执行的 sudo 代码,但这似乎不是很有效。
for row in rows:
try:
cursor.execute("sql", row)
except InsertError:
badRecordCSVFile.write(row)
我阅读了docs,起初似乎executemany 是我要找的。然而,在阅读了这个thread 之后,executemany 似乎只是处理查询直到它失败(不是我想要的)。
所以我的问题是插入行并记录失败的行的最佳方法是什么?
【问题讨论】:
-
DML error logging 可能会有所帮助。