目前正在部署基于 OFBiz 的 ERP,我们遇到了以下问题:框架的一些代码调用 resultSet.last() 来了解结果集的总行数。使用 Oracle JDBC Driver v11 和 v10,它尝试缓存客户端内存中的所有行,导致 JVM 崩溃,因为它没有足够的堆空间。
经过研究,问题似乎是Oracle JDBC通过使用缓存在客户端而不是在服务器中实现了可滚动光标。使用 datadirect 驱动程序,这个问题得到了解决,但是对 resultset.last() 的调用似乎需要太多才能完成,因此应用程序服务器中止了事务
有什么方法可以在 oracle 中通过 jdbc 实现可滚动游标,而无需借助 datadirect 驱动程序?
知道给定结果集长度的最快方法是什么?
提前感谢伊斯梅尔