ここでの問題は、ストアドプロシージャを実行するOracleの方法がJDBCに準拠していないことです。 OracleのSPは、OUTパラメータまたはカーソルである戻り値を介して結果セットデータを返します。これらは特別に処理する必要があります。つまり、JDBCに準拠していることを前提としたSpringのJDBCのものは使用できず、自分で使用する必要があります。
実際には、これはJdbcTemplate
を使用する必要があることを意味します およびCallableStatementCallback
、これは、理想的に必要なものよりもはるかに多くの手動JDBCコーディングを意味しますが、これを回避する方法はまだ見つかりません。
少し余談ですが、JDBC仕様は、Sybase(および関連付けによりSQL Server)の方法に厳密に準拠するように作成されていると思います。これは、JDBCでのストアドプロシージャの処理方法が非常に適しているためです。システム(およびOracleのシステムへの適合性が低い)。