проверка, является ли cx_Oracle cur.executemany () успешным или нет - PullRequest
0 голосов
/ 07 февраля 2019

Как проверить, успешно ли cur.executemany () в Python или нет?

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' равно 'None', даже если данные вставлены втаблица.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Нашли решение,

мы можем добавить 'batcherrors = True' вместе с execute many, чтобы проверить наличие ошибок

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(...)
0 голосов
/ 08 февраля 2019

Если исключений нет, вызов cursor.executemany () был успешным, и все данные должны быть вставлены в таблицу.

...