今天跟朋友们分享下DBC连接出现错误ORA-00604解决方法,望对朋友们有些帮助吧!
错误一般会出现在批量处理数据的过程中:
错误结果:
java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-01000: 超出打开游标的最大数
出错原因及解决方法:
Java代码在执行conn.createStatement和conn.prepareStatement时,相当于在数据库中打开了个游标cursor,不要在循环中放在这两个方法。
实在要放,也不应出现conn.createStatement().executeQuery(sql); 这个语句:如下
for(...){
resultSet= conn.createStatement().executeQuery(sql); //此种方式Statement 不会及时的关闭
resultSet.close();
}
优化一点:
Statement stmt= conn.createStatement();
resultSet= stmt.executeQuery(sql);
resultSet.close();
stmt.close();//此处必须手动给它关掉,不然,批处理时就该出现上述问题了哦!
好了,希望以上方法可以帮助大家解决问题吧!
支持( 0 ) 盖楼(回复)