用不同的故障处理替代jdbc中的executeBatch?

用不同的故障处理替代jdbc中的executeBatch?,jdbc,Jdbc,如果其中一个执行失败,executeBatch update不会继续执行其余命令。是否存在executeBatch的替代方案,即即使命令无法执行,其余命令仍能成功执行。不使用executeUpdate,因为它需要大量时间并逐个执行查询。文档中说: 批处理更新操作期间发生错误时引发的异常。除了 SQLException提供的信息,BatchUpdateException提供更新 批处理更新期间成功执行的所有命令的计数,即 错误发生前执行的命令。数组中元素的顺序 更新计数对应于将命令添加到批处理的顺

如果其中一个执行失败,executeBatch update不会继续执行其余命令。是否存在executeBatch的替代方案,即即使命令无法执行,其余命令仍能成功执行。不使用executeUpdate,因为它需要大量时间并逐个执行查询。

文档中说:

批处理更新操作期间发生错误时引发的异常。除了 SQLException提供的信息,BatchUpdateException提供更新 批处理更新期间成功执行的所有命令的计数,即 错误发生前执行的命令。数组中元素的顺序 更新计数对应于将命令添加到批处理的顺序。 在批处理更新中的命令无法正确执行且BatchUpdateException被禁用之后 抛出时,驱动程序可能会继续处理中的剩余命令,也可能不会继续处理 批处理。如果驱动程序在失败后继续处理,则该方法返回的数组 BatchUpdateException.getUpdateCounts中的每个命令都有一个元素 批处理而不仅仅是错误发生前成功执行的命令的元素。 在驱动程序继续处理命令的情况下,任何命令的数组元素 失败的是语句。执行失败

所以据我所知,这取决于您使用的jdbc驱动程序


也许更好的解决办法是找到问题的原因并加以解决?

是的,但我正在处理的程序插入了数百万条记录。此外,如果程序本身处理流,并且在出现故障时允许执行其余批处理命令,那么它将是一个更好的错误处理特性。我使用的jdbc驱动程序不支持故障后的处理。因此,我需要一种替代方法或一种使executeBatch工作的方法。谢谢:)如果您真的要插入数百万条记录,我建议您使用特定于dabase供应商的特殊工具,允许将数据加载到db服务器中。您的程序只能准备特殊格式的数据。然后,应用所选的工具。