cx_Oracle callproc output parameters

Gerhard Häring gh at ghaering.de
Wed Nov 9 07:19:23 EST 2005


infidel wrote:
> I have a stored procedure that has a single output parameter.  Why do I
> have to pass it a string big enough to hold the value it is to receive?
> Why can't I pass an empty string or None?
> [...]
> Am I missing something obvious here?

You have to use variable objects to the callproc() that will hold the 
output values. This is an example using three VARCHAR output parameters.

HTH,

-- Gerhard


import cx_Oracle

con = cx_Oracle.connect("user/password at my_conn")
cur = con.cursor()

l_SchemaName = cur.var(cx_Oracle.STRING)
l_DbName = cur.var(cx_Oracle.STRING)
l_DomainName = cur.var(cx_Oracle.STRING)

cur.callproc("TP_Lookup.GetSchema", (l_SchemaName, l_DbName, l_DomainName))

print "You are connected to",
print "the schema", l_SchemaName.getvalue(),
print "at %s.%s" % (l_DbName.getvalue(), l_DomainName.getvalue())




More information about the Python-list mailing list