我目前在使用cx_Oracle for python 3.6进行插入时遇到一些错误
oauth2accesstoken
和
ORA-01036: illegal variable name/number
这是我的代码:
ORA-01745: invalid host/bind variable name
这是我要绑定的字典,它作为生成器对象传递到函数中。
def load_wp_sql(self, wp_dict):
self.db.begin()
cursor = self.db.cursor()
sql = """INSERT INTO work_package_work_table
(CONTROL_ACCOUNT, CONTROL_MANAGER, WP_MANAGER,
TITLE, WORK_STATEMENT, TYPE,
RISK_MITIGATION_SCOPE)
VALUES
(:control_account, :cam, :wp_manager,
:wp_title, :statement_of_work,
:wp_type, risk_mitigation_scope)
"""
try:
for wp in wp_dict:
cursor.prepare(sql)
cursor.execute(None, wp)
self.db.commit()
except cx_Oracle.DatabaseError as e:
self.db.rollback()
我看了很多stackoverflow帖子: Python cx_Oracle bind variables
DatabaseError: ORA-01036: illegal variable name/number
及其文档:https://www.oracle.com/technetwork/articles/dsl/prez-python-queries-101587.html
我很确定我只是缺少一些简单的东西,但似乎找不到它。