4

Java クラスから plsql 関数を呼び出したいのですが、その関数 (isValidPeriod) はブール型のデータ型を返し、JDBC はそれをサポートしていません

4

3 に答える 3

5

OCI レイヤーの制限により、JDBC ドライバーは BOOLEAN パラメータを PL/SQL ストアド プロシージャに渡すことをサポートしていません。Java ブール型が PL/SQl ブール型と一致しません。Oracle のドキュメントによると、BOOLEAN は PL/SQL 型のみであり、「java.lang.Boolean」クラスと PL/SQL BOOLEAN データ型の間にマッピングはありません。

そのため、代わりに整数を返すようにデータベース PL/SQL 関数を変更する必要があるかもしれません。

また

ラッパーを作成するだけです:function isValidPeriodInt(<params>) return integer is begin <call isValidPeriod and return 1 on true, 0 on false> end;

于 2013-06-18T06:54:29.977 に答える