绑定字典时变量名称/编号非法

时间:2019-04-29 17:13:47

标签: python cx-oracle

我目前在使用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

我很确定我只是缺少一些简单的东西,但似乎找不到它。

0 个答案:

没有答案