Я хочу вставить строку в таблицу. Но я получил TypeError: ожидание строки или байтов объекта этой ошибки.
Трассировка (последний вызов был последним): файл "d:\Git\Repos\mavi\oracle_connection.py", строка 19, в c.prepare(QUERY, {"expr": expr, "expr2": expr2}) TypeError: ожидающий объект строки или байта
import cx_Oracle
dsn_tns = cx_Oracle.makedsn(***)
conn = cx_Oracle.connect(***)
c = conn.cursor()
expr = bytes('', 'utf-8')
expr2 = bytes('ML_TEST', 'utf-8')
QUERY = '''
INSERT INTO dev_log (LOG, SQ_DEV_LOG_ID, LF_TEKLIF_WS, PACKAGE BODY, LINE_NO)
VALUES
(:expr,:expr,:expr2,:expr,:expr)
'''
rows = []
c.prepare(QUERY,{"expr":expr, "expr2":expr2})
c.executemany(None, rows)
conn.commit()
conn.close()
Как я могу решить эту проблему?
Пытаться:
c.prepare(QUERY)
c.executemany(None, [{"expr":expr, "expr2":expr2}])
Из документов executemany
, что вы должны передавать свои параметры для executemany
, а не для prepare
.