【问题标题】:How to obtain an scroll_insensitive resultSet from a callableStatement in Java JDBC?如何从 Java JDBC 中的 callableStatement 获取滚动不敏感的结果集?
【发布时间】:2009-12-16 00:30:39
【问题描述】:

我在 Oracle 10g 数据库中有一个存储过程,在我的 java 代码中,我调用它:

CallableStatement cs = bdr.prepareCall("Begin ADMBAS01.pck_basilea_reportes.cargar_reporte(?,?,?,?,?); END;", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    cs.setInt(1, this.reportNumber);
    cs.registerOutParameter(2, OracleTypes.CURSOR);
    cs.registerOutParameter(3, OracleTypes.INTEGER);
    cs.registerOutParameter(4, OracleTypes.VARCHAR);
    cs.setDate(5, new java.sql.Date(this.fecha1.getTime()));
    cs.execute();

ResultSet rs = (ResultSet)cs.getObject(2);

我确实获得了一个包含正确记录的 ResultSet,但是当我尝试“scroll_insensitive - only”操作时(如 absolute(1) )。我不断收到一个 SQLException,指出它不适用于 FORWARD only resultSet。

那么我怎样才能获得这个带有 scroll_insensitive 功能的 ResultSet 呢?

提前致谢。

【问题讨论】:

    标签: jdbc oracle10g resultset


    【解决方案1】:

    结果集类型只是给驱动程序的一个建议,如果它不能遵守,驱动程序可以忽略或降级为 FORWARD_ONLY。详情请见here

    【讨论】:

    • 感谢您的链接,我已经检查了对结果集类型的限制,这似乎不是唯一的问题。我已将查询更改为更简单的查询,只是为了尝试并且我不断得到相同类型的结果集。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2017-09-09
    • 2011-05-14
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多