DBC连接oracle出现错误ORA-00604解决方法

作者: 不详 2012/12/27 8:56:59

今天跟朋友们分享下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();//此处必须手动给它关掉,不然,批处理时就该出现上述问题了哦!

好了,希望以上方法可以帮助大家解决问题吧!

特别推荐

玩家留言 跟帖评论
第 1 楼 美国CZ88.NET 网友 客人 发表于: 2012/12/21 9:01:34
谢谢楼主的分享,问题解决了!

支持( 0 ) 盖楼(回复)

查看更多评论