Python cx_Oracle和输出变量

Python cx_Oracle和输出变量,python,oracle,oracle10g,cx-oracle,Python,Oracle,Oracle10g,Cx Oracle,我正尝试在Oracle 10数据库中再次执行此操作: cursor = connection.cursor() lOutput = cursor.var(cx_Oracle.STRING) cursor.execute(""" BEGIN %(out)s := 'N'; END;""", {'out' : lOutput}) print lOutput.value 但是我越来越 Databa

我正尝试在Oracle 10数据库中再次执行此操作:

cursor = connection.cursor()
lOutput = cursor.var(cx_Oracle.STRING)
cursor.execute("""
            BEGIN
                %(out)s := 'N';
            END;""",
            {'out' : lOutput})
print lOutput.value
但是我越来越

DatabaseError: ORA-01036: illegal variable name/number

可以用这种方式在cx_Oracle中定义PL/SQL块吗?

是的,可以使用匿名PL/SQL块。输出参数的绑定变量格式不正确。它应该是
:out
,而不是
%(out)s

它产生输出:

<cx_Oracle.STRING with value 'N'>


非常感谢……我以为我们在某个时候尝试过这种组合,但我们一定错过了!如果我使用cursor.callproc(“SOME_PROC',[lOutput]),如何更改它
<cx_Oracle.STRING with value 'N'>