Альтернатива executeBatch в jdbc с другой обработкой ошибок? - PullRequest
3 голосов
/ 18 ноября 2011

Обновление executeBatch не продолжает выполнение остальных команд, если произошел сбой в одном из выполнений. Есть ли так или иначе альтернатива executeBatch, в которой, даже если команда не выполняется, все же остальные команды успешно выполняются. Не использует executeUpdate, так как это занимает много времени и выполняет запрос один за другим.

1 Ответ

2 голосов
/ 18 ноября 2011

Документация гласит:

Исключение, возникающее при возникновении ошибки во время операции пакетного обновления. В дополнение к информация, предоставляемая SQLException, BatchUpdateException предоставляет обновление считает все команды, которые были успешно выполнены во время пакетного обновления, то есть все Команды, которые были выполнены до возникновения ошибки. Порядок элементов в массиве Счетчик обновлений соответствует порядку, в котором команды были добавлены в пакет. После того, как команда в пакетном обновлении не выполняется должным образом, и BatchUpdateException брошенный, драйвер может или не может продолжать обрабатывать оставшиеся команды в batch. Если драйвер продолжает обработку после сбоя, массив возвращается методом BatchUpdateException.getUpdateCounts будет иметь элемент для каждой команды в Пакетные, а не только элементы для команд, которые успешно выполнялись до ошибки. В случае, когда драйвер продолжает обрабатывать команды, элемент массива для любой команды не удалось выполнить Statement.EXECUTE_FAILED.

Итак, насколько я понимаю, это зависит от jdbc-драйвера, с которым вы работаете.

Возможно, лучшим решением было бы найти причину проблемы и устранить ее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...