2009-12-16 50 views
0

我在Oracle 10g数据库的存储过程,在我的Java代码,我把它用:如何从Java JDBC中的callableStatement获取scroll_insensitive resultSet?

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); 

我得到的,在它正确记录的结果集,但是当我尝试了“SCROLL_INSENSITIVE - 只“操作,(如绝对(1))。我不断收到一个SQLException,指出它不适用于FORWARD only resultSet。

那么如何获得这个ResultSet与scroll_insensitive capabilites?

在此先感谢。

回答

1

结果集类型仅仅是对驱动程序的一种建议,如果驱动程序无法遵守,驱动程序可以忽略或降级到FORWARD_ONLY。详情请参阅here

+0

感谢您的链接,我检查了结果集类型的限制,似乎并不是唯一的问题。我已经改变了我的查询更简单的只是尝试和我不断得到相同类型的resultSet。 – 2009-12-16 19:46:31