Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Resultset.next()在从2.5B条记录中提取2.14B条记录后未向前移动,并且在长时间后存在_Java_Oracle_Jdbc - Fatal编程技术网

Java Resultset.next()在从2.5B条记录中提取2.14B条记录后未向前移动,并且在长时间后存在

Java Resultset.next()在从2.5B条记录中提取2.14B条记录后未向前移动,并且在长时间后存在,java,oracle,jdbc,Java,Oracle,Jdbc,我正在使用JDBC驱动程序从Oracle12c获取记录。我总共有25亿张唱片。成功获取2.14B记录(2147483000)后,rs.next()被卡住,无法继续前进,并且在很长时间后超时。我从一个简单的散列分区表中获取这些数据,该表有2000多个子分区,其中有一个数据类型列。而且,我的机器上有足够的内存 有人提出建议/想法吗?我在这里找到了答案 我使用的是ojdbc7驱动程序,resultset对获取Integer.MAX_值的记录计数有限制,即2147483647 将ojdbc7更新为ojd

我正在使用JDBC驱动程序从Oracle12c获取记录。我总共有25亿张唱片。成功获取2.14B记录(2147483000)后,
rs.next()
被卡住,无法继续前进,并且在很长时间后超时。我从一个简单的散列分区表中获取这些数据,该表有2000多个子分区,其中有一个数据类型列。而且,我的机器上有足够的内存


有人提出建议/想法吗?

我在这里找到了答案

我使用的是ojdbc7驱动程序,resultset对获取Integer.MAX_值的记录计数有限制,即2147483647


将ojdbc7更新为ojdbc8后,问题得到解决,并成功获取了其余记录。

为了排除仅限于Oracle实例本身的可能问题,在Oracle developer中,您能在此表上执行select*操作而不导致系统崩溃吗?该数字可疑地接近
int
(2147483647)的最大值。也许实现的内容太多了。@Slaw,对,我也有同样的怀疑,但没有进一步了解,这是否回答了你的问题?您是否必须用一个查询处理所有25亿条记录?请注意,ojdbc7与ojdbc8不是驱动程序的版本,7和8只是指定了目标Java版本。包含新旧驱动程序的确切版本将非常有用。