簡體   English   中英

JDBC批處理期間如何獲取記錄失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM