在我们的Web应用程序中,我们在一个模块中有18个屏幕
我们的用户希望在一个页面中显示18个屏幕的所有数据,以便他们可以一次打印整个数据.
所以,我写了一个Oracle程序,它获取所有18个屏幕的数据(从20到22个表).
此Oracle过程向我的Java程序返回13个游标.
页面的性能很好,我得到了理想的结果.
但是,将许多游标返回到Java会产生任何问题吗?
解决方法:
单个会话的最大打开游标数由OPEN_CURSORS
参数控制(默认值50,通常以数百为单位扩展).
如果你在完成提取之后正确关闭游标,正如@Polppan所建议的那样,18个同时打开的游标应该没有问题.
由于游标只是指向查询的指针,因此通过网络一次返回18个也没有问题.