У меня проблема в том, что когда у меня есть дублирующаяся строка в пакете, мой пакет выполнения завершается неудачно для этой строки, но проблема в том, что остальные операторы вставки не выполняются. Я использую основную версию драйвера Oracle SQL JDBC 4.
Как я могу заверить вас, что по крайней мере безошибочные строки выполняются и только строка данных с ошибками не вставляется?
conn.setAutoCommit(true);
try {
PreparedStatement testStatement = conn.prepareStatement("insert into EW_JOBS.jhi_job_history values (?,?,?,?,?,?,?,?,?,?)" );
testStatement.setInt(1, 4477443);
testStatement.setInt(2, 4477443);
testStatement.setDate(3, null);
testStatement.setString(4, null);
testStatement.setString(5, null);
testStatement.setString(6, null);
testStatement.setString(7, null);
testStatement.setString(8, null);
testStatement.setString(9, null);
testStatement.setString(10, null);
testStatement.addBatch();
testStatement.setInt(1, 4477444);
testStatement.setInt(2, 4477444);
testStatement.setDate(3, null);
testStatement.setString(4, null);
testStatement.setString(5, null);
testStatement.setString(6, null);
testStatement.setString(7, null);
testStatement.setString(8, null);
testStatement.setString(9, null);
testStatement.setString(10, null);
testStatement.addBatch();
testStatement.setInt(1, 4477443);
testStatement.setInt(2, 4477443);
testStatement.setDate(3, null);
testStatement.setString(4, null);
testStatement.setString(5, null);
testStatement.setString(6, null);
testStatement.setString(7, null);
testStatement.setString(8, null);
testStatement.setString(9, null);
testStatement.setString(10, null);
testStatement.addBatch();
testStatement.setInt(1, 4477445);
testStatement.setInt(2, 4477445);
testStatement.setDate(3, null);
testStatement.setString(4, null);
testStatement.setString(5, null);
testStatement.setString(6, null);
testStatement.setString(7, null);
testStatement.setString(8, null);
testStatement.setString(9, null);
testStatement.setString(10, null);
testStatement.addBatch();
testStatement.setInt(1, 4477446);
testStatement.setInt(2, 4477446);
testStatement.setDate(3, null);
testStatement.setString(4, null);
testStatement.setString(5, null);
testStatement.setString(6, null);
testStatement.setString(7, null);
testStatement.setString(8, null);
testStatement.setString(9, null);
testStatement.setString(10, null);
testStatement.addBatch();
testStatement.executeBatch();
conn.commit();
conn.close();
}
catch (BatchUpdateException e) {
System.out.println("update counts value is : " +e.getUpdateCounts());
}