У меня есть приложение, которое обрабатывает очень большой файл и отправляет данные в базу данных Oracle (используя Java 6, Oracle 9).
В цикле я использую PreparedStatement ps
и создаю все операторы SQL, сгенерированные с помощью ps.addBatch()
.
. У меня есть ситуация, когда BatchUpdateException bue
выбрасывается где-то во время ps.executeBatch()
,В этот момент выполнение пакета прекращается.
Я бы хотел, чтобы выполнение пакета продолжилось, чтобы затем я мог проверить наличие неудачных обновлений в методе processUpdateCounts(bue.getUpdateCounts())
.
.Javadoc о классе BatchUpdateException говорит:
После того, как команда в пакетном обновлении не работает должным образом и генерируется исключение BatchUpdateException, драйвер может продолжить или не продолжить для обработки оставшихся командв пакете.
Есть ли способ принудительного продолжения или мне нужно изменить мою программу, чтобы она выполняла оператор по отдельности?