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

问题描述 投票:0回答:2

如何检查是否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”是即使数据被插入到表中“无”。

python-2.7 cx-oracle
2个回答
0
投票

如果没有异常,调用cursor.executemany()是成功的,所有的数据都应该被插入到表中。


0
投票

找到了解决办法,

我们可以添加“batcherrors =真”随着执行许多检查任何错误

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(...)
© www.soinside.com 2019 - 2024. All rights reserved.