我正在尝试从db获取大量结果。我收到以下错误:
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个进程?非常感谢。
答案 0 :(得分:0)
此问题可能与JDBC驱动程序有关。您必须使用版本根据系统要求,我们需要使用Oracle Java数据库连接(JDBC)ojdbc6.jar.11.2.0.3或更高版本。更改驱动程序版本以检查问题是否已修复。