我每次執行程序時都執行JDBC批量插入操作(每次大約插入1000行)。但我無法正確處理由某些記錄引發的異常。JDBC批量插入異常處理
假設1000條記錄中的第100條記錄由於數據無效或某個值的大小超出列大小而引發異常。一旦發生異常,其餘記錄不會被插入並且程序在兩者之間失敗。
我想要的是即使第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太1/1000記錄觸發的過程。有沒有辦法做到這一點,以便我可以重新啓動從異常開始到最後的記錄的過程?如何實現這一目標?
而你的代碼是? – Alfabravo