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