文章目录

  • 1、报错信息
  • 2、原因分析
  • 3、解决方案

1、报错信息

java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01000: 超出打开游标的最大数
ORA-01000: 超出打开游标的最大数at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)at com.cw.dubbo.provider.OracleProcessor.select(OracleProcessor.java:40)at com.cw.dubbo.provider.OracleProcessor.select_count(OracleProcessor.java:28)at com.cw.dubbo.provider.LoginServiceImpl.login(LoginServiceImpl.java:25)at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java)at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:47)at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76)at com.alibaba.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:52)at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:62)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:65)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:72)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:131)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:103)at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:96)at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:172)at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:80)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)

2、原因分析

这个错误一般出现在利用代码循环执行数据库命令:例如:

  • 第一步:创建一个连接 Connection

  • 第二步:循环创建 PreparedStatement ,并执行查询命令;

  • 第三步:关闭 OracleConnection

在「第二步」循环较小时,代码运行正常,当循环超过一定值时,代码就报如上错误。

错误信息中,「ORA-01000: 超出打开游标的最大数」表示打开的游标数超了,Oracle数据库中默认情况下,打开的最大游标数为300

3、解决方案

第二步循环中的 PreparedStatement,每次执行完都调用 PreparedStatement.close();,释放掉这个资源就可以了。

java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误相关推荐

  1. java.sql.SQLException: 要执行的 SQL 语句不得为空白或空值

    用mybatis执行sql的时候报错了,错误日志如下 org.springframework.jdbc.UncategorizedSQLException: ### Error updating da ...

  2. Hibernate: null java.sql.SQLException: 要执行的 SQL 语句不得为空白或空值

    我在使用hibernate是,发现报错如下 org.springframework.orm.jpa.JpaSystemException: could not prepare statement; n ...

  3. [转载]“java.sql.SQLException:指定了无效的 Oracle URL”

    原文地址:"java.sql.SQLException:指定了无效的 Oracle URL"作者:康愚 昨天晚上用MyEclipse连接Oracle,出现了" java. ...

  4. java sqlexception_java.sql.SQLException

    java.sql.SQLException: ResultSet is closed是什么错误 java.sql.SQLException:ResultSetisclosed是什么错误 java.sq ...

  5. Cause: java.sql.SQLException: Invalid value for getInt()

    Cause: java.sql.SQLException: Invalid value for getInt() - '锛? ' ; SQL []; Invalid value for getInt( ...

  6. 多种方法解决Error querying database. Cause: java.sql.SQLException: No value specified for parameter 1

    文章目录 1. 复现问题 2. 分析问题 3. 解决问题 4. 出现该错误的其他可能 1. 复现问题 今天在调试接口时,突然报出如下错误: org.springframework.jdbc.BadSq ...

  7. java.sql.SQLException:Invalid value for getInt()-'zhangsan'

    1.错误描述 java.sql.SQLException:Invalid value for getInt()-'zhangsan' 2.错误原因 在遍历打印查询结果时,rs.getInt(3),而在 ...

  8. oracle中00604,Oracle:ORA-00604: 递归 SQL 级别 1 出现错误

    java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01653: 表 SYS.AUD$ 无法通过 8192 (在表空间 SYSTEM 中) 扩 ...

  9. ORACLE各种常见java.sql.SQLException归纳

    java.sql.SQLException错误! ORA-00904:     --invalid column name 无效列名 ORA-00942: --table or view does n ...

最新文章

  1. 如何复制代码到剪贴板?JS/FLASH...
  2. JS改变input的value值不触发onchange事件解决方案 (转)
  3. 针对access数据库的增删改查
  4. 捷波朗STORM耳机设置中文_2020年 除了Airpods pro以外无线降噪蓝牙耳机如何选?五款热门入耳式蓝牙降噪耳机推荐...
  5. Flex 宋体、黑体、楷体、仿宋字体样式
  6. java 注解(annotation)基础学习
  7. web编程 模块1 html,Web编程基础第1章HTML基础.ppt
  8. 堆排序(java完整代码)
  9. xtwpro2编程器_zadig v2.4编程软件下载|XTW100编程器软件(附USB驱动) - 驱动无忧
  10. vivo手机要用计算机隐藏游戏图标,vivo手机怎么隐藏桌面应用图标
  11. ceph16 rbd加密
  12. 对于解决新版unity5.x的license error 问题
  13. oracle创建bigfile表空间,表空间管理之bigfile表空间设置
  14. md5加密以及可逆的加密解密算法
  15. Python列表、元组、字典相关练习题记录——第三天
  16. 书桌台灯怎么选?分享儿童卧室灯品牌
  17. HTML/XML转义字符对照表
  18. 关于2018年第九届蓝桥杯省赛(江苏赛区)
  19. Google Play邮件提示: 您必须声明您的广告 AD_ID 权限
  20. 7个神奇的jQuery 3D插件

热门文章

  1. 狼人杀服务器紧急维护中,狼人杀最可怕的武器是那张嘴?禁言长老:你已被管理员禁言一天!...
  2. 【转】ABP源码分析四十二:ZERO的身份认证
  3. 【转】setsocketopt getsocketopt比较全的参数说明
  4. 【转】01Teams的前世今生
  5. 第十节:进一步扩展两种安全校验方式
  6. 一步步编写操作系统 52 深入浅出cpu的特权级
  7. 一步步编写操作系统 16 显卡概述
  8. Windows/Android/iOS 等常见 User-Agent 大全
  9. CCIE理论-第七篇-SD-WAN网络(二)
  10. 【2018山东省赛 - A】Anagram(贪心,费用流,KM算法)