私は、いくつかの複雑なロジックを使用して JDBC CallableStatement で IN パラメーターと OUT パラメーターをバインドするレガシー コードを使用しています。このコードは、IN および OUT パラメーターの正しい型をバインドしているように見えますが、CallableStatement が実行されると、Oracle ストアド プロシージャは次の例外をスローします。
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'STORED_PROC_ABC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
「line 1, column7:
」は役に立ちません。ストアド プロシージャ内の何も指していません。
ストアド プロシージャを呼び出す単純なスタンドアロン テスト ケースを作成しました。従来のコードと同じパラメーターとバインディング タイプを使用すると、成功します。
必要なのは、従来のコードとスタンドアロン テストの 2 つの CallableStatement オブジェクトを比較して、違いを確認する方法です。
関連するパラメーター バインディング情報 (値と型) を CallableStatement から取得する方法はありますか? これを行うサードパーティのライブラリがあれば、それは素晴らしいことですが、そうでない場合は、さまざまなバインディングを掘り下げる方法が必要になります。
ありがとう。