检查cx_Oracle cur.executemany()是否成功

时间:2019-02-07 05:26:26

标签: python-2.7 cx-oracle

如何在python中检查cur.executemany()是否成功?

a = self.cur.executemany("""insert into test_table(REQUEST_ID,PLATFORM_NAME,SYSTEM_NAME,DB_NAME,TABLE_NAME,COLUMN_NAME,COLUMN_DESC,DATA_TYPE,LENGTH,PRECISION,PRIMARY_KEY_FLAG,CREATED_BY_DS_ID) values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12)""",rowTup)

我已经尝试过了,但是即使将数据插入表中,“ a”中的值也为“无”。

2 个答案:

答案 0 :(得分:0)

如果没有异常,则对cursor.executemany()的调用成功,并且所有数据都应插入表中。

答案 1 :(得分:0)

找到了解决方案,

我们可以添加'batcherrors = True'以及执行多次以检查任何错误

self.cur.executemany("""insert into test_table(REQUEST_ID,PLATFORM_NAME,SYSTEM_NAME,DB_NAME,TABLE_NAME,COLUMN_NAME,COLUMN_DESC,DATA_TYPE,LENGTH,PRECISION,PRIMARY_KEY_FLAG,CREATED_BY_DS_ID) values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12)""",rowTup,batcherrors = True, arraydmlrowcounts = True)
                if len(self.cur.getbatcherrors()) == 0:
                    self.updateStatus(...)
                else:
                    self.updateStatus(...)