cx_Oracle和输出变量
问题描述:
我试图做到这一点又一个Oracle数据库10:cx_Oracle和输出变量
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
cursor = connection.cursor()
lOutput = cursor.var(cx_Oracle.STRING)
cursor.execute("""
BEGIN
:out := 'N';
END;""",
{'out' : lOutput})
print lOutput
它产生的输出:
<cx_Oracle.STRING with value 'N'>
非常感谢......我认为我们会尝试,在某些时候特定组合,但我们必须都少不了它! – Tim 2010-04-23 15:54:21
如何使用cursor.callproc(“SOME_PROC”,[lOutput])如何更改它 – 2016-04-08 15:50:05