0
点赞
收藏
分享

微信扫一扫

ora-01000 maximum open cursors exceeded

根本原因在于你打开的cursors(游标),超出了数据库规定的最大值

1、通过命令查看数据库限定的最大值:在oracle终端下:sqlplus /nolog

2、conn /as sysdba;

3、show parameter open_cursor;得到最大值,默认是300

解决方法:你在打开一个游标的时候,记得关闭它,可以加代码:

getSqlMapClientTemplte.getSqlMapClient.commitTransaction();

我的错误是:在一次事务中连续打开两个游标,一个是update语句,另一个是insert语句,而且是批量执行,后果可想而知。

所以让它们每个执行100次就够了,两个一共也就200次,这样就没有超过最大值300。

你明白没有?



举报

相关推荐

0 条评论