データベースの Oracle バージョンは 10g です。
ストアド プロシージャは、テーブル内のすべての要素を選択し、次のように REF CURSOR 型を返します。 create または replace
PROCEDURE S_S_TEST(
test_OUT OUT OAS_TYPES.REFCURSOR
)
AS
BEGIN
OPEN test_OUT FOR
SELECT *
FROM table_p;
CLOSE test_OUT;
END S_S_TEST;
このストアド プロシージャが Java で実行されると、次の例外が取得されます。
java.sql.SQLException: Cursor is closed. at oracle.jdbc.driver.T4CResultSetAccessor.getCursor(T4CResultSetAccessor.java:323) at oracle.jdbc.driver.ResultSetAccessor.getObject(ResultSetAccessor.java:85) at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:1401) at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.getObject(WSJdbcCallableStatement.java:443)
エラーの内容とその修正方法を理解しようとしています。誰か助けてくれませんか?
ありがとう!