`
wnzz95391511
  • 浏览: 124670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ORA-01000: maximum open cursors exceeded

阅读更多
今天做了个程序,中间牵扯到了有7个表格,数据库使用的是ORACLE。程序运行起来后,数据显示正常,可是无意间,连续刷新了几次,突然发现抛出了这个异常:
ORA-01000: maximum open cursors exceeded

在网上查证,原来是因为每次使用Statement和PreparedStatement时,都同数据库建立了义个游标。而我这次查询结果数据的时候,分别使用了许多的表,得到了许多的数据,也有些是在循环中创建的Statement。所以就建立了太多的游标,以至于抛出了上面的异常。
解决办法有两种,
一:加大最大游标链接数量(这种方法治标不治本,对系统的扩展性和维护都不好)
二:在每次建立链接,取得需要的数据之后,都将statement和parparedStatement关闭。这样就可以关闭游标,不会再出现那种问题。
    即
rs.close();
statement.close();
parparedStatement.close();
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics