【问题标题】:fetching huge resultset in java在java中获取巨大的结果集
【发布时间】:2018-03-23 14:25:24
【问题描述】:

我正在尝试从数据库中获取大量结果。我收到以下错误:

java.sql.SQLException: statement handle not executed
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.T4CStatement.doDescribe(T4CStatement.java:724)
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3285)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1914)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515)
    at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
    at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)

我正在使用以下查询和处理,如下所示:

rs = con.createStatement().executeQuery("SELECT * FROM " + tableName);

        while (rs.next()) {
            info = new IntoTClass();
            info.setId(rs.getString("column1"));
            info.setContentId(rs.getString("column1"));
            info.setAssetId(rs.getString("column2"));

            info.setKeywords(rs.getString("column3"));
            info.setAssetType(rs.getString("column4"));
            info.setSubType(rs.getString("column5"));

我相信这个错误是因为它试图从数据库中获得巨大的结果。谁能建议如何从结果集中拆分结果并一次处理 3000 个?任何帮助表示赞赏。

【问题讨论】:

  • 它有多大?几百万条记录对 JDBC 来说是可以的
  • 我相信这个错误是因为它试图从数据库中得到巨大的结果再次猜测。 “语句句柄未执行”意味着它没有运行查询。
  • 不是数百万,而是大约 20k 个结果。@Ivan。您知道为什么会出现 Exhausted ResultSet 错误吗?
  • @ElliottFrisch 对不起,我没有得到你。你的意思是查询本身没有运行?
  • 正确。查询本身尚未执行。该错误表明您尝试获取结果,但没有任何活动查询可从中获取结果。

标签: java oracle jdbc spring-jdbc sqlexception


【解决方案1】:

来源:https://jazz.net/forum/questions/210782/list-rqm-reports-fails-with-the-statement-handle-not-executed

此问题可能与 JDBC 驱动程序有关。您必须使用版本 根据系统要求,我们需要使用 Oracle Java 数据库连接 (JDBC) ojdbc6.jar.11.2.0.3 或更高版本。更改驱动程序版本以检查问题是否已修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2023-04-05
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    相关资源
    最近更新 更多