2

在我使用 JDBC 处理超过 40,000 条数据记录的过程中。为了提高性能,我使用 PreparedStatement 和批量更新。

需要建议来处理批量更新中的异常吗?如何处理异常,处理40,000条记录中的5001条记录时如何知道发生了异常?

提前致谢

4

3 回答 3

1

您可以使用 BatchUpdateException。请参阅以下代码。你可以在这里找出错误。

try {
  // statements related to batch updates....
} catch (BatchUpdateException be) {
   //handle batch update exception
   be.printStackTrace();
   int[] counts = be.getUpdateCounts();
   for (int i=0; i<counts.length; i++) {
       System.out.println("Statement["+i+"] :"+counts[i]);
   }
}
于 2012-09-22T09:28:55.220 回答
0

使用 BatchUpdateException 处理批量更新的异常

于 2013-10-01T08:01:14.400 回答
0

通过使用 getCause() 和 getNextException() 分析异常,您最终会发现一个 JDBCException/SQLException。

现在,向上转换到 congrete database-depend-exception,当然,您会找到 congrete 问题/congrete 索引的标识符(即 nr 5001)。

还可以尝试具有更高 jdbc 版本(即 jdbc4)的不同 JDBC 驱动程序。

于 2012-09-19T12:45:52.543 回答