BatchUpdateException:批处理不会终止


问题内容

我有一个处理很大文件并将数据发送到oracle数据库的应用程序(使用Java 6,oracle 9)。

在循环中,我使用PreparedStatement ps并创建了所有使用生成的SQL语句ps.addBatch()

我有一种情况,BatchUpdateException bue在期间将a 抛出ps.executeBatch()。此时,该批处理停止执行。

我希望继续执行批处理,以便随后可以在method中检查失败的更新processUpdateCounts(bue.getUpdateCounts())

关于类BatchUpdateException的Javadoc说:

批处理更新中的命令无法正确执行并且抛出BatchUpdateException后, 驱动程序可能会或可能不会继续 处理批处理中的其余命令。

有没有一种方法可以强制执行连续性,或者我需要更改程序以使其分别执行该语句?


问题答案:

刚刚找到此链接: JDBC批处理更新问题

显然,它说那里

NO WAY 和ORACLE JDBC批处理 第一次失败之后进行

因此,我要逐个发送插入内容。谢谢

(很抱歉,您之前查找的链接看起来不太好)。