Python cx“甲骨文-”;应为“无”或“字符串”;

Python cx“甲骨文-”;应为“无”或“字符串”;,python,python-2.7,cx-oracle,Python,Python 2.7,Cx Oracle,我使用的是以下cx\U Oracle版本 >>> cx_Oracle.version '5.0.3' 我在执行查询时遇到此异常 “应为无或字符串” 查询正以这种方式执行 cursor.execute("SELECT * FROM APP_STORE WHERE STORE=:STORE %s" %(order_clause),{'STORE':STORE}) 原因可能是什么?在流的前面执行的类似查询可以正常工作,但是这个查询不行 请提供一些指导。您的光标构建不正确。既然您传

我使用的是以下cx\U Oracle版本

>>> cx_Oracle.version
'5.0.3'
我在执行查询时遇到此异常

“应为无或字符串”

查询正以这种方式执行

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
语句<代码>准备


有关更多信息,请访问。上面我提供的信息在“绑定变量模式”部分(似乎没有直接链接可用)

寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现此问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。