使用高ResultSet.fetchSize()时某些表的ArrayIndexOutOfBoundsException

时间:2016-05-07 00:09:20

标签: java oracle jdbc oracle11g ojdbc

我正在使用ojdbc-11.2.0.4驱动程序连接到Oracle 11g数据库并提取数据。对于几个表当我在ResultSet上执行setFetchSize到100000时,我得到以下堆栈跟踪。对于所有表格而言,这不会发生。 如果我将获取大小减少到10000,则此错误消失。任何人都可以解释为什么会这样吗?

java.lang.ArrayIndexOutOfBoundsException: -184134849   
at oracle.jdbc.driver.T4CVarcharAccessor.saveDataFromOldDefineBuffers(T4CVarcharAccessor.java:416)
at oracle.jdbc.driver.T4CStatement.saveDefineBuffersIfRequired(T4CStatement.java:536)
at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:1078)
at oracle.jdbc.driver.OracleStatement.check_row_prefetch_changed(OracleStatement.java:3087)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:332)

0 个答案:

没有答案