java.sql.SQLException: ORA-01000: 超出打开游标的最大数

6 篇文章 0 订阅
2 篇文章 0 订阅

        该问题大多出现在使用JDBC开发中。解决办法如下

第一:及时关闭数据库连接,关闭PreparedStatement

        在使用完数据库后及时关闭连接;connction.close(),处理完数据之后及时关闭preparedStatement

        如果开发的方法中需要多处进行数据逻辑处理,需要多次针对数据库操作,建议把Connection和PreparedStatemen定义变量,在不同的方法内不要多次重新创建对象,而是使用传递的变量进行操作。在每次数据操作后,及时关闭preparedStatement。

第二:在代码优化后还没达到目的,建议从数据库设置入手,修改数据库配置。

        这里针对Oracle数据库进行说明,首先通过语句

select name,value from v$parameter where name='open_cursors';可以查询当前游标数。

        然后可以通过语句

alter system set open_cursors=6000 scope=both;修改游标数。6000是值,可自行定义

        最后重新运行程序,检查问题是否解决。在运行过程中,可以通过语句

select count(*) from v$open_cursor;查询当前已使用游标数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

one_smail

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值