Я пытаюсь обновить данные в таблице с помощью пакетного обновления. Когда я обновляю данные, есть некоторые сбои. Я хочу получить инструкцию по обновлению сбойного запроса. Например, если сбой запроса - "update table set abc= 123"
. Затем я хочу, чтобы обработчик исключений возвращал этот SQL-запрос.Обработка исключений JDBC BatchUpdate с использованием BatchUpdateExcpetion
Я пробовал несколько способов получить SQL-запрос, но я не могу этого сделать.
Ниже приведен код:
String line=null;
int cnt=0;
int batchSize=100;
BufferedReader br2=new BufferedReader(new FileReader("clean.txt"));
stmt1=conn.createStatement();
while((line = br2.readLine()) != null)
{
try {
String sql = line;
stmt1.addBatch(sql);
//System.out.println(cnt);
if(++cnt % batchSize == 0)
{
stmt1.executeBatch();
conn.commit();
}
}
catch (BatchUpdateException ex) {
System.out.println(ex.getLocalizedMessage());
int[] updateCount = ex.getUpdateCounts();
int cnt1 = 1;
for (int i : updateCount) {
if (i == Statement.EXECUTE_FAILED) {
System.out.println("Error on request " + cnt1 +": Execute failed");
} else {
System.out.println("Request " + cnt1 +": OK");
}
cnt1++;
}
}
}
System.out.println("done");
br2.close();
Пожалуйста, дайте мне знать, что я должен сделать, чтобы получить не удалось запроса SQL. Поэтому, если у меня есть запрос, я могу сохранить это в файле снова.