java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
2023-09-27 14:27:18 时间
后台报出如下错误:
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 heap space错误
- java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法
- java学习笔记(四)面向对象
- java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol
- Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档 (DOC/DOCX) 转换为 HTML
- 一:Java之面向对象基本概念
- mysql错误:java.sql.SQLException: The server time zone value ‘xxx‘ is unrecognized or represents 解决方法
- is java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport错误原因
- Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(三)
- [转]Tomcat启动java.lang.OutOfMemoryError: PermGen space错误解决
- java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 错误
- CSDN日报191113:Java 8 Optional 类错误使用的26个示例;Redis常见面试题(带答案)
- Intellij idea 报错:Error java 不支持发行版本5
- PHP Java
- 【Java】Spring boot、Mysql项目部署到Linux中后启动日志慢8小时(时区不对/时区错误)
- 【Java】+Java打包成windows下可运行的程序
- 错误原因Caused by: java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12
- 在创建Dynamic Web Project时提示Dynamic Web Module 3.0 requires Java 1.6 or newer错误
- android常见错误-E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:
- 《Java EE 7精粹》—— 2.9 错误映射
- 《Java程序员面试秘笈》—— 面试题8 在Java中,对象是如何传递消息的
- 《Java程序员面试秘笈》—— 1.3 线程信息的获取和设置
- [java]Eclipse 安装错误的解决方法 及JDK下的ini修改
- java "Too small initial heap" 错误
- (JAVA)错误:Type mismatch: cannot convert from double to float ,这是什么意思?如何解决?
- 【Spring常见错误】java.lang.NoClassDefFoundError: redis/clients/jedis/UnifiedJedis
- 使用Java High Level REST Client操作elasticsearch
- Java魔法堂:URI、URL(含URL Protocol Handler)和URN
- Android导入自定义的jar包时出现 E/AndroidRuntime(486): java.lang.NoClassDefFoundError错误
- Java并发编程(三)Thread类的使用
- Java程序员惯性思维的一个错误
- 13. SpringBoot启动报错:Error:(3, 32) java:无法访问org.springframework.boot.SpringApplication 错误的类文件...