Statement#addBatchによる性能向上2

まず、Oracle依存したくないので、標準のStatementで実験しているのですが、途中でエラーが発生してしまうと、そのレコード特定のための情報が全く無いことが分かりました。失敗するとBatchUpdateExceptionがthrowされるのですが、その例外からgetUpdateCountsで取得するint配列は、insertまたはupdateしようとした件数分戻ってきてしまいます。しかも全てStatement.EXECUTE_FAILEDです。そのまま明示的なロールバックしないでプログラムを終了すると、成功したところまでコミットされている始末。確かに、BatchUpdateExceptionのJavaDocの(http://java.sun.com/j2se/1.4.2/docs/api/java/sql/BatchUpdateException.html)に記述されている仕様は満たされているんですけどね。
今度は、Oracle依存したクラスを使用してみようかと考えてます。(つづくかも)