繁体   English   中英

cx_Oracle - “期望 None 或字符串”

[英]cx_Oracle - "expecting None or a string"

我在以下 cx_Oracle 版本

>>> cx_Oracle.version
'5.0.3'

我在执行查询时遇到此异常

“期望 None 或字符串”

查询正在以这种方式执行

cursor.execute("SELECT * FROM APP_STORE WHERE STORE=:STORE %s" %(order_clause),{'STORE':STORE})

可能是什么原因? 在流程中之前执行的类似查询工作正常,但这个查询不行。

欣赏这方面的一些指导。

您正在错误地构建光标。 由于您传递了字典,因此您首先要准备查询:

cursor.prepare("SELECT * FROM APP_STORE WHERE STORE=:STORE %s" %(order_clause))

然后你执行它并传递None作为第一个参数。

results = cursor.execute(None, {'STORE':STORE})

如果您希望更改STORE参数并再次运行查询,您现在需要做的就是修改字典并重新运行execute语句。 不需要再次prepare

更多信息可以在Oracle+Python 查询最佳实践文档中找到 我在上面提供的信息在“绑定变量模式”部分(似乎没有直接链接可用)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM