没及时释放statement、resultset。

解决方案 »

  1.   

    同意 jimjxr(宝宝猫) !还有查查你的oracle的配置,最大游标数的设置是不是太小了,在那个init.ora
      

  2.   

    请问如果statement、resultset没有释放,它将在数据库中保存多久?我也怀疑是这个问题,并把大多数都改过来的,还存少量,可是报错的频率还是一样。我的数据库游标数为1400,不小了。
      

  3.   

    如果你没在statement中把游标关掉,估计只有在connection关闭时游标才会关闭。如果你怀疑是别的地方的问题,可以自己写个测试,循环建立、执行、释放statement,看看出不出问题。
      

  4.   

    因为你用了连接池,所以你在关闭Connection时并没有真正关掉它,而是把它放回连接池,也就是说statement不会自动释放掉,你需要在关闭Connection之前把statement关闭。