`
avaj
  • 浏览: 237630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

超出打开的最大游标数

 
阅读更多

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


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


关闭之后,问题解决。


注:

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

 

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

分享到:
评论

相关推荐

    超出打开游标的最大数的原因和解决方案

    每个会话可以打开多个游标,但存在一个限制,即 OPEN_CURSORS 参数指定的最大游标数。如果应用程序打开的游标数超过这个限制,会引发 ORA-01000: maximum open cursors exceeded 异常。下面将探讨超出打开游标的最大...

    oracle超出打开游标的最大数的原因和解决方案

    解决疑难问题,针对偏僻的问题:oracle超出打开游标的最大数的原因和解决方案,希望能对大家操作数据库有用处

    Oracle出现超出打开游标最大数的解决方法

    本文实例讲述了Oracle出现超出打开游标最大数的解决方法。分享给大家供大家参考,具体如下: Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。...

    Oracle数据库游标连接超出解决方案

    - 高并发操作:在多用户环境下,每个用户的操作都可能开启游标,当并发用户数增多,游标使用量也可能迅速增加。 - 代码设计不当:如过度使用显式游标,或者使用游标时没有正确处理异常,可能导致游标泄漏。 2. **...

    详解Oracle游标的简易用法

    忘记关闭游标可能导致超出打开游标最大数的错误。 - 游标也可以返回到存储过程或函数,使得调用者可以处理结果集。 10. **最佳实践**: - 只在必要时使用游标,因为它们消耗内存和CPU资源。 - 尽可能使用集操作...

    oracle 声明游标(不具备字段)规则应用

    未关闭的游标可能导致“超出打开游标最大数”的错误。 3. 游标变量:可以声明游标变量,使得游标可以在存储过程或函数之间传递,便于复用和模块化。 4. 游标for循环:Oracle提供了一种简化游标使用的语法,即`FOR`...

    Oracle常用异常代码

    当使用无效的游标时触发此异常,可能是因为游标尚未被正确打开。 **解决方法:** - 确保在使用游标之前已正确打开它。 - 检查游标的打开状态和使用方式。 #### 7. INVALID_NUMBER (ORA-01722) **异常描述:** 当...

    数据库参数设置技术手册.doc

    10. **OPEN_CURSORS**:允许每个数据库用户同时打开的最大游标数,过小可能导致过多的游标关闭和重新打开,影响性能。 11. **SERVICE_NAMES**:定义数据库对外提供的服务名,用于客户端连接。 12. **SHARED_POOL_...

    Oracle错误码大全

    1. ORA-01000: 达到最大打开游标数 - 表示应用程序打开了过多的游标,超过了系统允许的最大值。解决方法是优化代码,关闭不再使用的游标,或者增加`OPEN_CURSORS`初始化参数的值。 2. ORA-01422: 指定的行数超出...

    根据表结构生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第4版)

    2、解决Oracle一次转换的表过多时出现超出打开游标的最大数异常,现在测试了一次生成四百多张表 的DTO和Entity成功完成转换,只是表太多速度有点慢。 3、内存占用优化,对占用的内存资源进行清理,极大的减少了...

    通过导入的方式更换表空间.doc

    在执行过程中,由于数据库限制,可能需要分批执行SQL脚本以避免超出打开游标的最大数。 执行完成后,验证表空间分布是否符合预期。可以通过查询数据字典视图来检查所有表对象是否都在指定的表空间中。如果仍有对象...

    预定义异常

    - 举例:索引值不在合法范围内,如负数或超出最大限制。 16. **SYS_INVALID_ROWID (ORA-01410)** - 描述:字符到ROWID的转换失败,因为字符不代表有效的ROWID。 - 举例:尝试将无效的ROWID字符串转换为ROWID。 ...

    oracle预定义异常

    6. INVALID_CURSOR:如果在不合法的游标上执行操作,比如一个已经关闭或从未打开过的游标,系统会抛出此异常。 7. INVALID_NUMBER:当尝试将字符串转换为数字,但转换失败时,Oracle会抛出此异常。 8. NO_DATA_...

    DB2错误解决手册

    - **0100D** - 已关闭的游标在下一个结果集上重新打开。 - **0100E** - 生成的过程超过了最大结果集数目。 - **01503** - 结果列数大于提供的主机变量数。 - **01504** - UPDATE或DELETE语句缺少WHERE子句。 - ...

    ora_error大全.doc

    3. **ORA-12003**: 实际的游标与声明的游标不匹配,可能是返回的列数或类型不一致。 4. **ORA-12004**: 在REFRESHFAST操作中遇到了问题,这通常用于刷新物化视图,可能是因为缺少必要的索引或视图定义不正确。 5. ...

    Oracle预定义的21个系统异常类型

    4. **CURSOR_ALREADY_OPEN**:当试图在一个已经打开的游标上再次执行OPEN语句时触发。每个游标只能处于打开状态一次,避免资源浪费和冲突。 5. **DUP_VAL_ON_INDEX**:在唯一性索引的列上插入或更新重复值时触发。...

    DB2 错误代码

    - **54000**:超出 SQL 限制,或超出产品限制,表示操作超出了 SQL 或产品的最大限制。 34. **55 - 对象不处于先决条件状态** - **55000**:对象不处于先决条件状态,表示对象的状态不符合操作的要求。 35. **56...

    达梦数据库_SQL语言手册

    打开游标语句 拨动游标语句 关闭游标语句 关于可更新游标 游标定位删除语句 游标定位修改语句 单元组查询语句 动态 立即执行语句 准备语句 执行语句 异常处理 第章函数 数值函数 字符串函数 日期时间...

    pro*c编译选项_中文解释

    如果设置为`YES`,则每次提交事务时,所有打开的游标将被自动关闭。这有助于释放资源,但可能需要额外的逻辑来管理事务边界。 #### 4. cpp_suffix 定义了预处理器的文件扩展名,默认为`.C`,用于C++源文件。更改此...

Global site tag (gtag.js) - Google Analytics