java - 有没有办法在 Java 中找出数据库游标是否打开?

标签 java jdbc plsql

在JDBC 中有没有办法找出在JAVA 中是否打开了游标。 尝试访问未打开的游标时出现异常。 java.sql.SQLException: 游标已关闭。

这是正在发生的事情。

Stored proc就是这样设计的。 proc 返回游标和其他几个列。在某些情况下,数据库人员不会打开游标,只会返回游标之外的其他剩余列。因此,当 Java 代码尝试获取游标时,它会抛出此异常。我知道,我可以捕获异常并进一步处理剩余的列。但我想知道是否有不同的(可能更好)方法来处理这个问题? 或者只需要在存储过程中打开游标,即使没有任何内容作为游标的一部分返回?

最佳答案

我以前在 Oracle 中遇到过这个问题。它与 ResultSet 无关,它是开放的。该错误是由STP引起的,它可能返回一个空游标,或者在某些情况下关闭游标。

请检查您使用的所有 STP,并确保它始终返回打开的游标。

关于java - 有没有办法在 Java 中找出数据库游标是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741276/

相关文章:

java - 不存在类型变量的实例,因此 T 符合注释

jdbc - 卡夫卡连接: JDBC Source Connector : create Topic with multiple partitions

java - 从哪里获取 11.2.0.3 的 Oracle jar 文件 - xdb、aq、i18n、xmlparser

Oracle 更改夏令时的时间戳列值

xml - 在 xml 中使用命名空间时如何通过 xmltable 解析 xml(Oracle)

java - 颜色量化给出非常糟糕的结果?

JAVA:我如何检查 "protected abstract method"的范围?

mysql - 根据匹配值选择 A 列或 B 列

oracle - PL/SQL 批量收集到具有稀疏键的关联数组

java - 为什么Java允许静态变量在非静态内部类中是FINAL