使用 callproc() 调用带参数的存储过程时出现错误。
cur.callproc("TEST.manage_partitions_pkg.test", ["to_date('20120525', 'YYYYMMDD')", 1, "tablename_type('MESSAGE', 'VALID_MESSAGE')", True, True])
但它似乎无法识别 SQL 参数。我是否需要以某种方式将 SQL 参数转换为 python?如果是这样,那将如何进行?
您的第一个参数应该是一个cx_Oracle.Date对象,您可以使用cx_Oracle.Date(2012, 5, 25)
. 我采用的第三个参数只是一个字符串,您不希望它是一个函数调用,如果是,您可以使用cur.callfunc('tablename_type', ReturnType, ['MESSAGE', 'VALID_MESSAGE'])
它并将其内联到您的过程调用中。