jdbc 查询5万条数据出现 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数
答案:2 悬赏:80 手机版
解决时间 2021-03-30 08:41
- 提问者网友:那叫心脏的地方装的都是你
- 2021-03-30 02:18
jdbc 查询5万条数据出现 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-03-30 02:58
出现ORA-01000错误基本都是有程序没关闭游标,多出现于java程序使用连接池连接数据库的情况下,打开了statement没关闭就把连接放回了连接池或者循环打开statement对象而不关闭。
你的这段代码并无问题,建议检查一下其他地方,有没有上面说的情况。追问我没有使用连接池 查询什么都没有问题 就是在处理结果集的时候处理到48855条的时候出的问题,而且我的finally中也finally{ DBUtil.close(pre); DBUtil.close(stat); DBUtil.close(conn);}
难道只有改变数据库游标数量这一个办法了吗???追答恐怕改游标数量都不一定能解决问题。不过你可以试试。你先看看打开了哪些游标:
select * from v$open_cursor
另外还可以尝试select的时候做分页,将每页数量减少,看能否绕过这个问题。追问使用select * from v$open_cursor以后看到了这些:
追答就只有这几条吗?应该有很多条吧。你重点关注SID,User_name和SQL_Text这三个字段
你的这段代码并无问题,建议检查一下其他地方,有没有上面说的情况。追问我没有使用连接池 查询什么都没有问题 就是在处理结果集的时候处理到48855条的时候出的问题,而且我的finally中也finally{ DBUtil.close(pre); DBUtil.close(stat); DBUtil.close(conn);}
难道只有改变数据库游标数量这一个办法了吗???追答恐怕改游标数量都不一定能解决问题。不过你可以试试。你先看看打开了哪些游标:
select * from v$open_cursor
另外还可以尝试select的时候做分页,将每页数量减少,看能否绕过这个问题。追问使用select * from v$open_cursor以后看到了这些:
追答就只有这几条吗?应该有很多条吧。你重点关注SID,User_name和SQL_Text这三个字段
全部回答
- 1楼网友:零点过十分
- 2021-03-30 03:48
就这段代码本身来说没啥问题,只是要在finally里加上 pre.close()
代码不完整,没办法判断
只能建议你使用select * from v$open_cursor查看当前打开了哪些游标
在循环过程中创建Statement后一定要及时关闭,否则很容易就游标超出了追问我在finally{ DBUtil.close(rs); DBUtil.close(stat);DBUtil.close(conn);}释放了资源了
就是在向list里面保存实体类的时候保存到48855条记录时候出现的游标
超出打开游标的最大数,是不是jdbc本身查询大数据量导致的啊追答数据量大跟游标数没关系,简单一点,你可以理解为打开一个ResultSet就会打开一个游标,就跟你打开一个文件就占用一个句柄一样
如果你不知道怎么检查代码,那就select * from v$open_cursor where user_name=用户名,看看哪些语句占用了游标,然后再从代码里相应ResultSet或Statement有没有关闭
代码不完整,没办法判断
只能建议你使用select * from v$open_cursor查看当前打开了哪些游标
在循环过程中创建Statement后一定要及时关闭,否则很容易就游标超出了追问我在finally{ DBUtil.close(rs); DBUtil.close(stat);DBUtil.close(conn);}释放了资源了
就是在向list里面保存实体类的时候保存到48855条记录时候出现的游标
超出打开游标的最大数,是不是jdbc本身查询大数据量导致的啊追答数据量大跟游标数没关系,简单一点,你可以理解为打开一个ResultSet就会打开一个游标,就跟你打开一个文件就占用一个句柄一样
如果你不知道怎么检查代码,那就select * from v$open_cursor where user_name=用户名,看看哪些语句占用了游标,然后再从代码里相应ResultSet或Statement有没有关闭
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯