剑道第一仙

导航

java.sql.SQLException: ORA-01000: maximum open cursors exceeded;问题的解决方法

转:https://blog.csdn.net/ALEX_wxy/article/details/83901129

ora-01000: maximum open cursors exceeded:表示已经达到一个进程打开的最大游标数。

1.主要原因:Java代码在执行(Stored Procedure)conn.createStatement()和conn.prepareStatement()时,相当于在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。

一般来说,Java中createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statment关闭。

posted on 2022-10-11 13:11  剑道第一仙  阅读(433)  评论(0)    收藏  举报