banq,请教您,为何我的系统总报:无效的游标或用尽的ResultSet错?

07-03-06 tonyshaochu
我的项目是用jdbc访问数据库,当人数很少操作访问数据库时,不会报这种错误,上线人数较多时(约二十几个),数据访问结果经常报:"无效的游标" 或 "用尽的ResultSet"错误, 请问这是什么原因导致的? 急盼您的回复, 谢谢!

tonyshaochu
2007-03-06 17:23
请各位有经验的大侠都帮我分析一下..这里先谢了!

arli
2007-03-06 19:22
可能是这个错:

数据库管理系统有一个参数:同时连接的用户数(SQL Server标准版好像是25个连接),当同时连接数据库的用户个数超过这个数字后就会报错,你可以增加用户个数(购买)。

Coolyu0916
2007-03-06 19:36
你是不是没有判断返回结果为空啊??

tonyshaochu
2007-03-06 23:00
这里先谢谢楼上二位的回复,我用的数据库是Oracle9i, 查询得到的RecordSet,我把它封闭成一个对象:SBRecordSet; 用while(rs.next())循环得到RecordSet中的数据结果(rs为RecordSet类型);在数据库连接中,我是将多个数据库连接请求分配同一个Connection连接的不同Statement, 会不会因为这样而使连接产生混乱啊?

tonyshaochu
2007-03-06 23:14
 在我的框架中,数据层用的是jdbc的方式访问数据库,有2个池,Connection和Statement池,每个Connection中设置80个Statement,当Statement达到最大时,如果再有新的连接请求,再申请一个新的Connection, 否则就用现有的Connection连接分配一个新的Statement; 这样的实现不知是否可行,因为根据理论,同一个Connectio完全可以达到最高200个Statement,而不需要一个请求就要占用一个Connection,请各位对这种实现原理发表一下看法;

猜你喜欢