【问题标题】:Python cx_Oracle prepared statement with qmark带有 qmark 的 Python cx_Oracle 准备好的语句
【发布时间】:2014-05-23 21:19:15
【问题描述】:

我正在尝试使用 cx_Oracle,但它似乎不喜欢我对 db-api 的了解。

这些语句有效:

cur.execute('INSERT INTO "testdboz" ("id", "sessionid") VALUES (2, 123)')
cur.execute('INSERT INTO "testdboz" ("id", "sessionid") VALUES (:id, :sid)', 
            {'id':1, 'sid':13})
cur.execute('INSERT INTO "testdboz" ("id", "sessionid") VALUES (:1, :2)', [1123, 123])

但是,这失败了:

cur.execute('INSERT INTO "testdboz" ("id", "sessionid") VALUES (?, ?)', [1, 123])

以上失败:

---------------------------------------------------------------------------
DatabaseError                             Traceback (most recent call last)
<ipython-input-17-4e9fe350f968> in <module>()
----> 1 cur.execute('INSERT INTO "testdboz" ("id", "sessionid") VALUES (?, ?)', [1, 123])

DatabaseError: ORA-01036: illegal variable name/number

有没有办法纠正这种说法? cx_Oracle 是否支持 qmark

【问题讨论】:

    标签: python oracle cx-oracle


    【解决方案1】:

    很遗憾,我找到了答案here...

    您无法真正选择要使用的参数样式。甲骨文 仅本机支持命名和数字参数样式和 cx_Oracle 两者都支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 2012-10-10
      • 2011-09-11
      • 1970-01-01
      相关资源
      最近更新 更多