【发布时间】:2009-08-06 21:14:26
【问题描述】:
我们数据库的Oracle版本是10g。
存储过程选择表中的所有元素,并返回一个 REF CURSOR 类型,如下所示: 创建或替换
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)
我正在尝试了解错误是什么以及如何修复它。有人可以帮帮我吗?
谢谢!
【问题讨论】:
标签: oracle exception jdbc cursor