我想在表格中插入一行。但是我遇到了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()
我该如何解决此问题?
答案 0 :(得分:1)
尝试:
c.prepare(QUERY)
c.executemany(None, [{"expr":expr, "expr2":expr2}])
从文档中看,您似乎应该将参数传递给executemany
,而不是prepare
。