exhaustedResultSet即使resultSet远没用尽

时间:2016-08-05 23:00:01

标签: java jdbc

下面基本上是我的代码.SQL似乎正在工作,因为对getFetchSize的调用返回10.对next()的调用给出了false。如果调用了getObject,它会抛出一个exhaustedResultSet SQLException。这是在Maven项目中使用Spring在Tomcat 8.5上使用Oracle 11g数据库创建在win7中运行的REST Web服务,如果有任何重要的话。如果我遗漏任何重要信息,请告诉我。

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

class StringGettingClass {
    public String[] methodToGetStrings() {
        String qry = "SELECT Column FROM TABLE";
        String[] string_array;
       try {
           Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
           DataSource dataSource = (DataSource) envCtx.lookup("jdbc/JdbcDb");
           Connection connection = dataSource.getConnection();
           Statement s = connection.createStatement();
           ResultSet r = s.executeQuery(qry);
           int rows = r.getFetchSize();
           string_array = new String[rows];
           int row = 0;
           while (r.next()) {
                string_array[row] = r.getObject("Column").toString();
                row++;
           }
       } catch (SQLException s) {
           s.printStacktrace();
       } catch (Exception e) {
           e.printStackTrace();
       }
       return string_array;
    }
}

0 个答案:

没有答案