sql >> データベース >  >> RDS >> Oracle

Springのストアドプロシージャ-プロシージャから返される結果は常に空です

    ここでの問題は、ストアドプロシージャを実行するOracleの方法がJDBCに準拠していないことです。 OracleのSPは、OUTパラメータまたはカーソルである戻り値を介して結果セットデータを返します。これらは特別に処理する必要があります。つまり、JDBCに準拠していることを前提としたSpringのJDBCのものは使用できず、自分で使用する必要があります。

    実際には、これはJdbcTemplateを使用する必要があることを意味します およびCallableStatementCallback 、これは、理想的に必要なものよりもはるかに多くの手動JDBCコーディングを意味しますが、これを回避する方法はまだ見つかりません。

    少し余談ですが、JDBC仕様は、Sybase(および関連付けによりSQL Server)の方法に厳密に準拠するように作成されていると思います。これは、JDBCでのストアドプロシージャの処理方法が非常に適しているためです。システム(およびOracleのシステムへの適合性が低い)。



    1. psqlクエリ結果でテーブルの境界線スタイルを変更する方法

    2. SQLServerデータベース内のすべてのトリガーをテーブル名とテーブルのスキーマとともに一覧表示する必要があります

    3. Java EE WebアプリケーションからWindows認証を使用してSQLServerに接続できますか?

    4. MySQLでテーブルの文字セットと照合を設定する方法