簡體   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