后台报出如下错误:

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

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

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

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

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

原因:

  这个错误一般出现在利用代码循环执行数据库命令(例如将数据导入到数据库或者定时任务向数据库中插入数据)时,例如在java中
 
  1.建立一个Connection
 
  2.循环创建PreparedStatement,并执行数据导入
 
  3.关闭OracleConnection
 
      当第二步的循环数比较小时,代码运行正常。当循环数超过一定值(例如300),代码就会出错。提示:
 
      ORA-01000: 超出打开游标的最大数

  Oracle数据库中打开的游标最大数为一定值,默认情况下是300,当代码到第二步时, 循环中一个PreparedStatement占用了一个数据库游标,执行的循环超过这个数时就会产生游标数目溢出错误。

解决办法:

  第二步循环中每次执行完PreparedStatement,都将PreparedStatement.close()下,释放掉这个资源就好了
 
      此外,也可以修改数据库的最大游标数,不过这个方法治标不治本。(alter system set open_cursors=1000 scope=both;)

java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误的更多相关文章

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

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

  2. java.sql.SQLException:指定了无效的 Oracle URL

    java.sql.SQLException:指定了无效的 Oracle URL 昨天晚上用MyEclipse连接Oracle,出现了" java.sql.SQLException: 指定了无 ...

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

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

  4. 2016.11.10 Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver

    运行项目rds_web时,出现错误提示:Could not get JDBC Connection; nested exception is java.sql.SQLException: No sui ...

  5. mybatis 执行查询时报错 【Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: 】

    org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLE ...

  6. java程序连接oracle12c报:java.sql.SQLException: ORA-28040: 没有匹配的验证协议。

    报错信息: 2017-09-22 15:17:37,204 WARN [org.hibernate.cfg.SettingsFactory] - Could not obtain connection ...

  7. java.sql.SQLException: ORA-28040: 没有匹配的验证协议(12c或者12c rac)

    1.plsql可以连接,java程序不能连接,报如下错误: 一直以来用的都是服务器上的Oracle数据库,今天改成连接本地Oracle 12c数据库是出问题了.hibernate连接Oracle12c ...

  8. Cause: java.sql.SQLException: Could not retrieve transation read-only status server

    背景 最近在部署一套完整的项目,部署过程中遇到很多的问题,在来总结一些如标题的这个错误! 环境说明: 使用分布式数据库,使用的是mysql! ### Cause: java.sql.SQLExcept ...

  9. java.sql.SQLException: Io 异常: Got minus one from a read call

    博客分类: Oracle   Tomcat服务器下的应用连接Oracle时报错,出现以下异常: java.sql.SQLException: Io 异常: Got minus one from a r ...

随机推荐

  1. 洛谷 P1331 海战

    传送门 题解:由于船是方形的,所以比较简单.但是考试的时候跪了,orz.忘了考虑类似一圈井号中间有一摊水.          可以只考虑这个点上方和左边点的情况,这样分为四种情况.一种是左边是一滩水, ...

  2. 初识Java反射机制

    1.ClassLoader的类加载机制:并非一次性加载,而是需要的时候加载(运行期间动态加载)(Class文件加载到内存的代码段),static语句块在加载后执行一次.dynamic语句块(就是一个语 ...

  3. Cracking the coding interview--Q2.2

    Implement an algorithm to find the kth to last element of a singly linked list. 实现一个算法寻找链表中倒数第K个数.. ...

  4. 配置Session变量的生命周期

    在Web.config文件中配置Session变量的生命周期是在<sessionState></sessionState>节中完成的,在配置Session的生命周期时,可以设置 ...

  5. (转载)偏序集的Dilworth定理学习

    导弹拦截是一个经典问题:求一个序列的最长不上升子序列,以及求能最少划分成几组不上升子序列.第一问是经典动态规划,第二问直接的方法是最小路径覆盖, 但是二分图匹配的复杂度较高,我们可以将其转化成求最长上 ...

  6. -_-#【Angular】工具函数

    AngularJS学习笔记 上下文绑定 var f = angular.bind({a: 'xx'}, function() { console.log(this.a) }) f() // 'xx' ...

  7. 《算法问题实战策略》-chaper32-网络流

    基本的网络流模型: 在图论这一块初步的应用领域中,两个最常见的关注点,其一时图中的路径长度,也就是我们常说的的最短路径问题,另一个则是所谓的“流问题”. 流问题的基本概念: 首先给出一张图. 其实所谓 ...

  8. libvirt hypervisors信息采集

    libvirt采集hypervisors信息的通用格式 driver[+transport]://[username@][hostname][:port]/[path][?extraparameter ...

  9. Java高级特性之反射学习总结

    老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值 一. 什么是反射? 二.反射能做什么? 一. 什么是反射? 用在Java身上指的是我们可以于运行时加载.探知.使用 ...

  10. UVALive 4959 Jumping monkey

    题意就是: 一个猎人在森林里捕猎. 然后有只猴子,喜欢躲树的后边,猎人看不见它 然后给出了一张图,表示有哪些树是相邻的. 数据保证任意图中两个树都可以直接或间接的到达 猎人有一个枪,每次他可以选择一颗 ...