Ошибка ORA-01036 при выполнении функции oracledb в запросе Python UPDATEPython

Программы на Python
Ответить
Anonymous
 Ошибка ORA-01036 при выполнении функции oracledb в запросе Python UPDATE

Сообщение Anonymous »

Во время выполнения метода выполнения() возникает ошибка «ORA-01036: недопустимое имя/номер переменной». Выполнение аналогичного метода Execute() с теми же данными выполнено успешно.
Код, завершающийся ошибкой:

Код: Выделить всё

update_data_df = read_docs_df[['CONTRACT_NUM', 'DOCID']].copy()
cur_upd = conn_dwh.cursor()
dataUpdate = [tuple(i) for i in update_data_df.values]
print(dataUpdate)
sqlTxt = "UPDATE USERBOX_MIDDLE_OFFICE.rvp_doc_partner_to_archive SET DOCID = :2    WHERE CONTRACT_NUM = ':1'"
cur_upd.executemany(sqlTxt, dataUpdate)
updated_docs = cur_upd.rowcount
conn_dwh.commit()
cur_upd.close()
databaseerror: ora-01036: Недопустимое имя/номер переменной
print(datupdate) вывод: [('ta/0 7131468), ('1/а-бпи/нск-д-д1', 6819213), ('ting/0082021-д5, 7425529)]]

Код: Выделить всё

update_data_df = read_docs_df[['CONTRACT_NUM', 'DOCID']].copy()
cur_upd = conn_dwh.cursor()
updated_docs = 0
for row in update_data_df.itertuples():
sqlTxt = f"UPDATE USERBOX_MIDDLE_OFFICE.rvp_doc_partner_to_archive SET DOCID = {row.DOCID} WHERE CONTRACT_NUM = '{row.CONTRACT_NUM}'"
print(sqlTxt)
cur_upd.execute(sqlTxt)
updated_docs += cur_upd.rowcount
conn_dwh.commit()
cur_upd.close()
Python 3.9
oracledb 1.4.1

Подробнее здесь: https://stackoverflow.com/questions/796 ... date-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»