[英]How to fetch the records failed during JDBC Batch Processing
我正在通過JDBC批處理執行SQL語句集。 批處理期間如何獲取記錄失敗。
我能夠獲得記錄成功和失敗的次數。 但是無法獲取失敗的記錄。
Statement statement = null;
try {
statement = connection.createStatement();
for (String insertQuery : insertQuerys) {
statement.addBatch(insertQuery);
}
statement.executeBatch();
} catch (Exception e) {
logger.info("Error : " + e);
} finally {
try {
statement.close();
} catch (SQLException e1) {
logger.info("Error : " + e1);
}
}
我希望在JDBC批處理期間失敗的記錄。
您可以捕獲具有方法int[] getUpdateCounts()
BatchUpdateException ,該方法返回一個數組,該數組包含受每個批處理語句 添加到 批處理中的順序影響的行數。
但是這里重要的是,如果單個批處理語句更新的行多,則無法確切知道該語句影響了哪些行以及它們是否甚至存在於表中(對於insert或merge語句)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.