超出打开的最大游标数

本文介绍了一个在生产环境中遇到的问题——超出打开的最大游标数错误。该问题源于在循环中创建Statement而未关闭导致的资源泄露。文章解释了在使用数据库连接池时,即使关闭了connection,也需要手动关闭Statement和ResultSet,以避免类似错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试的时候没有出现异常,但是拿到生产环境中会报:超出打开的最大游标数错误。


经过检查是程序员在写程序的时候,在循环中创建Statement,而没有关闭。


关闭之后,问题解决。


注:

不是用连接池的情况下,只要关闭了connection,Statement和ResultSet也会关闭(与数据库的连接都断开了,当然关闭了),当垃圾回收的时候,会回收无用的Statement和ResultSet对象。

 

但如果使用数据库连接池,由于connection.close();是将连接放回连接池,所以必须手动的关闭Statement和ResultSet,否则报“超出打开的最大游标数”错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值