0

callproc()を使用してパラメーターを使用してストアドプロシージャを呼び出すと、エラーが発生します。

cur.callproc("TEST.manage_partitions_pkg.test", ["to_date('20120525', 'YYYYMMDD')", 1,     "tablename_type('MESSAGE', 'VALID_MESSAGE')", True, True])

しかし、SQLパラメータを認識していないようです。どういうわけかSQLパラメータをPythonに変換する必要がありますか?もしそうなら、それはどのように行われますか?

4

1 に答える 1

2

最初のパラメーターは、で作成できるcx_Oracle.Dateオブジェクトである必要がありますcx_Oracle.Date(2012, 5, 25)。私が取る3番目のパラメーターは単なる文字列であり、関数呼び出しであるとは期待していません。関数呼び出しの場合は、cur.callfunc('tablename_type', ReturnType, ['MESSAGE', 'VALID_MESSAGE'])プロシージャ呼び出しを使用してインライン化できます。

于 2012-06-15T12:56:41.303 に答える