Oracle JDBC中的ArrayIndexOutOfBoundsException

Oracle JDBC中的ArrayIndexOutOfBoundsException,jdbc,oracle11g,Jdbc,Oracle11g,我在oracle jdbc驱动程序中遇到了一个奇怪的异常。本机方法如何抛出OutOfBounds异常?我认为这与其中一列中的blob有关 我们使用solaris x86、sun java 6和websphere作为服务器。数据库是oracle 11和ojdbc 5 使用windows XP的本地配置,一切都正常 有什么想法吗 java.lang.ArrayIndexOutOfBoundsException at oracle.jdbc.driver.T2CStatement.t2cDefineF

我在oracle jdbc驱动程序中遇到了一个奇怪的异常。本机方法如何抛出OutOfBounds异常?我认为这与其中一列中的blob有关

我们使用solaris x86、sun java 6和websphere作为服务器。数据库是oracle 11和ojdbc 5

使用windows XP的本地配置,一切都正常

有什么想法吗

java.lang.ArrayIndexOutOfBoundsException
at oracle.jdbc.driver.T2CStatement.t2cDefineFetch(Native Method)
at oracle.jdbc.driver.T2CPreparedStatement.doDefineFetch(T2CPreparedStatement.java:1020)
at oracle.jdbc.driver.T2CPreparedStatement.fetch(T2CPreparedStatement.java:1252)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:373)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:277)
在代码中,我没有做任何特殊的事情。创建一条准备好的语句,填写参数并执行查询

                preparedStatement = connection.prepareStatement(queryAsString);
                preparedStatement.setObject( [some paramters...] );

                ResultSet result = preparedStatement.executeQuery();

                result.setFetchSize(100);
                while (result.next()) {
                    int count = Fields.getFieldsCount();
                    Object[] objects = new Object[count];
                    for (int j = 0; j < count; ++j) {
                        Object object = result.getObject(j + 1);
                        objects[j] = object;
                    }
                    list.add(objects);
                }
                result.close();

但是我不认为问题出在java代码中,因为相同的代码在Java5上使用ojdbc14和sparc solaris时也能工作。我想这更像是配置问题。

显示更多代码?你到底想做什么?您似乎迭代了一个结果集。也许你不测试它是否有更多的结果?