我有一个 java 程序,它处理一个包含 100 万条记录的文件,并使用批量插入将其插入到表中,即Statement.addbatch()
,然后Statement.executeBatch()
在每 1000 条记录之后。该程序运行得相当快。
但是,如果有重复记录,即表引发异常,则整个批次都消失了,其余记录将无法跟踪。
即使我得到updatecount()
is 也无济于事,因为我无法将重复项插入另一个表等。
有没有一种方法,在 1000 个特定的批次插入中,如果有坏记录,那么该批次中的每条记录都可以一个一个地处理,以便可以将坏/重复记录放在另一个表中,并且非常规表中的重复项?
还有其他我可以使用的课程吗?我知道在 C++ 中,Oracle 提供了 OCI,它可以处理批处理中的单个记录(称为主机数组操作),但在 Java 中,批量插入通常是Statement.adding
在循环中完成,然后使用Statement.executeBatch()
.
谢谢。