Python ORA-00933:SQL命令未以psycopg2正确结束
所以我一直在尝试使用psycopg2从python运行这个查询,但它给了我一个错误 ORA-00933:SQL命令未正确结束 而如果我尝试在oracle DB中运行查询,它会顺利通过 它所做的只是从一个表中获取计数,并将其与另一个表的计数进行比较,然后返回PASS或FAIL 如果有人能帮我找出原因,我将不胜感激 问题是:Python ORA-00933:SQL命令未以psycopg2正确结束,python,sql,database,oracle,psycopg2,Python,Sql,Database,Oracle,Psycopg2,所以我一直在尝试使用psycopg2从python运行这个查询,但它给了我一个错误 ORA-00933:SQL命令未正确结束 而如果我尝试在oracle DB中运行查询,它会顺利通过 它所做的只是从一个表中获取计数,并将其与另一个表的计数进行比较,然后返回PASS或FAIL 如果有人能帮我找出原因,我将不胜感激 问题是: 'WITH QA AS ( SELECT COUNT(*) C FROM QAAUTO.FactInternetSales) ,DEV AS (SELECT COUNT (*
'WITH QA AS ( SELECT COUNT(*) C FROM QAAUTO.FactInternetSales)
,DEV AS (SELECT COUNT (*) C FROM qaauto.LoyaltyProgramA)
SELECT "Records count" AS TEST_NAME
,QA.C AS QA_RECORDS
,DEV.C AS DEV_RECORDS
,CASE WHEN DEV.C > 0 AND DEV.C = QA.C THEN "PASS" ELSE "FAIL" END AS RESULT
FROM QA,DEV ; '
运行它的python代码:
def generate_results(self, driver):
for tce in self.testCaseExecutors:
testExecutorId = tce["testcaseexecutorid"]
script = tce["script"]
failOutputScript = tce["failoutputscript"]
result = run_Script(driver, script)
output = None
if result == 'PASS':
stateid = 'PASS'
elif result == 'FAIL':
stateid = 'FAIL'
tcResult = (testExecutorId, stateid, output)
self.testCaseResults.append(tcResult)
def run_Script(driver, script):
result = driver.fetchall(script, {})
return result[0]
在我的例子中,脚本包含上面发布的查询显然是查询末尾的分号导致了错误。您没有显示实际执行查询的代码。如果您在psycopg2will的上下文之外给出工作查询,任何人都无法提供太多帮助,这里:
来自QA,DEV;'代码>有什么好处吗?@Littlefoot facepalm,你说得对。不管出于什么原因,这都是问题的根源。谢谢你,伙计!不客气。