一下错误通常会出如今批量处理数据的过程当中:java
错误结果:sql
java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-01000: 超出打开游标的最大数数据库
出错缘由:ide
Java代码在执行conn.createStatement和conn.prepareStatement时,至关于在数据库中打开了个游标cursor,不要在循环中放在这两个方法。优化
实在要放,也不该出现conn.createStatement().executeQuery(sql); 这个语句:以下
spa
for(...){code
resultSet= conn.createStatement().executeQuery(sql); //此种方式Statement 不会及时的关闭
resultSet.close();递归
}it
优化一点:io
Statement stmt= conn.createStatement();
resultSet= stmt.executeQuery(sql);
resultSet.close();
stmt.close();//此处必须手动给它关掉,否则、批处理时就该出现上述问题了