加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle中ora-0100打开游标过大的解决

发布时间:2020-12-12 14:39:19 所属栏目:百科 来源:网络整理
导读:最近做项目碰到ORA-01000差错,参考了一些解决办法,把自己解决问题的一些心得写下来。 java造访oracle数据库,,在for循环代码中,如果漠视关闭createstatment或preparedstatement建立的连接,将出现:ORA-01000差错。 后台报出如下错误: Caused by: java.
最近做项目碰到ORA-01000差错,参考了一些解决办法,把自己解决问题的一些心得写下来。

java造访oracle数据库,,在for循环代码中,如果漠视关闭createstatment或preparedstatement建立的连接,将出现:ORA-01000差错。

后台报出如下错误:

Caused by: java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01000: 超出打开游标的最大数

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01000: 超出打开游标的最大数


背景知识:


oracle中每次应用用createstatment或preparedstatement语句,都将打开一个游标,所以单纯增
加oracle中打开游标数目不是解决问题的办法。
问题解决:
1:首先定位是那些语句打开的游标过大。
履行以下语句:
select * from v$open_cursorwhere user_name = 'tech';

<tech为username>

2:从上面的查找结果的sql_text字段中,找到sql语句,再去java代码中定位履行这些语句的代码, 添加PreparedStatement或Statement类的close法子。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读