【发布时间】:2019-04-18 14:02:37
【问题描述】:
我想在表格中插入一行。但是我得到了 TypeError: Expecting string or bytes object 这个错误。
Traceback(最近一次调用最后一次):文件 “d:\Git\Repos\mavi\oracle_connection.py”,第 19 行,在 c.prepare(QUERY,{"expr":expr, "expr2":expr2}) TypeError: Expecting string or bytes object
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()
我该如何解决这个问题?
【问题讨论】:
-
您发布的代码仅包含 21 行。你确定你没有遗漏什么吗?
-
@HampusLarsson 是的,有 cmets,我编辑了
-
Şevval,你能描述一下你的表,以便我们可以看到列的数据类型吗?
-
@BarbarosÖzhan 顺序为
, int , string, string, int -
我想,这解释了这个问题,因为替换变量
expr同时用于integer、string和clob。
标签: python sql oracle sql-insert