Java sql getPreparedStatement在4294967295行之后停止

Java sql getPreparedStatement在4294967295行之后停止,java,sql,prepared-statement,resultset,Java,Sql,Prepared Statement,Resultset,我正在尝试使用java.sql.PreparedStatement和executeQuery从表中获取所有行,但下载在到达4294967295(2^32-1)行后停止;我尝试了preparedStatement.getMaxRows(),它返回0,表示没有获取限制 根据“如果超过此限制,则会自动删除多余的行。”这听起来正是我的作业发生的情况,是否有人知道我还应该调试什么,以及当此设置为0时为什么会达到最大行限制 多谢各位 发现了问题,根据 注意:如果单次加载的行数超过4294967295行,则由

我正在尝试使用
java.sql.PreparedStatement
executeQuery
从表中获取所有行,但下载在到达4294967295(2^32-1)行后停止;我尝试了
preparedStatement.getMaxRows()
,它返回0,表示没有获取限制

根据“如果超过此限制,则会自动删除多余的行。”这听起来正是我的作业发生的情况,是否有人知道我还应该调试什么,以及当此设置为0时为什么会达到最大行限制


多谢各位

发现了问题,根据

注意:如果单次加载的行数超过4294967295行,则由于JTDS中存在错误,应使用MSSQL本机JDBC驱动程序(请注意,数字4294967295是32位无符号整数的最大值)。如果将JTD用于如此大的负载,那么只会导入4294967295行,其余的将被忽略,而不会看到错误

MSSQL JDBC驱动程序和示例如下:

首先,你为什么要读这么多行?出于好奇,查询需要多长时间才能到达?一个必须返回>40亿行的查询闻起来像是一个设计问题。为什么您需要一次返回那么多行?10个小时后,我正在批量下载数据,以较小的块进行操作。一个表中超过40亿行对我来说似乎相当大