Обработка исключений пакетной вставки JDBC

Я выполняю пакетную вставку JDBC (, вставляя примерно 1000 строк за раз )каждый раз, когда выполняется моя программа. Но я не могу правильно обработать исключение, вызванное некоторыми записями.

Предположим, 100-я запись из 1000 выдает исключение из-за недопустимых данных или размера какого-то значения, превышающего размер столбца. После возникновения исключения оставшиеся записи не вставляются , и между ними происходит сбой программы.

Я хочу, чтобы даже если 100-я запись выдавала исключение, остальные вставки должны происходить, как обычно, до завершения моей программы.

Я не могу понять, как этого добиться. Пожалуйста, предложите.

РЕДАКТИРОВАТЬ:

Вот пример кода, который я использую в своем приложении для пакетной вставки. Предположим, что набор результатов содержит около 1000 записей.

PreparedStatement ps = null;
while(rs.next()){
  //Retrieve the value and set it to a Prepared statement

  String name = rs.getString("Name");
  int age = rs.getInt("Age");
  ps.setInt(1, age);
  ps.setString(2, name);

  //Finally invoke addBatch
  ps.addBatch();
}

//Finally call the executeBatch method
ps.executeBatch();

Если 100-я запись вызывает исключение, то я хочу запустить процесс только из 100-й или 1000-й записи. Есть ли способ сделать это, чтобы я мог перезапустить процесс с записи, вызвавшей исключение и далее , до конца снова? Как этого добиться?

20
задан Beryllium 5 September 2014 в 11:45
поделиться