oracle的最大游标数问题
我们用连接池实现了与数据库的连接。然后写了一个公用类集中处理对数据库的SQL操作。查询结果返回Vector.现在我们碰到的问题是每过一段时间就会产生查询出错:超过最大游标数,重启连接池后又正常了,请问是什么原因? 问题点数:60、回复次数:6Top
1 楼jimjxr(宝宝猫)回复于 2002-04-18 12:29:49 得分 15
没及时释放statement、resultset。Top
2 楼xmvigour(微电-THINKING IN APP)回复于 2002-04-18 14:13:26 得分 15
同意 jimjxr(宝宝猫) !
还有查查你的oracle的配置,最大游标数的设置是不是太小了,在那个init.oraTop
3 楼monkst(monkst)回复于 2002-04-19 09:53:58 得分 0
请问如果statement、resultset没有释放,它将在数据库中保存多久?我也怀疑是这个问题,并把大多数都改过来的,还存少量,可是报错的频率还是一样。我的数据库游标数为1400,不小了。Top
4 楼jimjxr(宝宝猫)回复于 2002-04-19 11:34:40 得分 15
如果你没在statement中把游标关掉,估计只有在connection关闭时游标才会关闭。如果你怀疑是别的地方的问题,可以自己写个测试,循环建立、执行、释放statement,看看出不出问题。Top
5 楼roamer()回复于 2002-04-21 19:06:03 得分 15
因为你用了连接池,所以你在关闭Connection时并没有真正关掉它,而是把它放回连接池,也就是说statement不会自动释放掉,你需要在关闭Connection之前把statement关闭。Top
6 楼monkst(monkst)回复于 2002-04-22 14:19:07 得分 0
谢谢,我想也是这方面的原因,但要把原有的代码都进行修改工作量太大了,有没有什么方法能让系统自动回收一下?盼望赐教。Top




