クラスBatchUpdateException
- すべての実装されたインタフェース:
Serializable, Iterable<Throwable>
SQLExceptionのサブクラスです。 BatchUpdateExceptionは、SQLExceptionによって提供される情報に加えて、バッチ更新中に正常に実行されたすべてのコマンド、つまり、エラーが発生する前に実行されたすべてのコマンドの更新カウントを提供します。 更新カウントの配列での要素の順序は、コマンドがバッチに追加されたときの順序になります。
バッチ更新のコマンドが正しく実行されずBatchUpdateExceptionがスローされたあと、ドライバはバッチに残っているコマンドの処理を続けることも、中止することもできます。 失敗後にドライバが処理を継続する場合、BatchUpdateException.getUpdateCountsメソッドによって返される配列は、エラーまでに正常に実行されたコマンドの要素だけではなく、バッチの全コマンドの要素を含んでいます。 ドライバがコマンドの処理を継続する場合、失敗したコマンドの配列要素はどれもStatement.EXECUTE_FAILEDになります。
JDBCドライバ実装では、更新カウントがオーバーフローする可能性を避けるため、int[]を取るコンストラクタのかわりにコンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用するようにしてください。
Statement.executeLargeBatchメソッドが呼び出された場合は、整数の更新カウントがオーバーフローする可能性を避けるため、getUpdateCountsのかわりにgetLargeUpdateCountsを呼び出すことをお薦めします。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明BatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(int[] updateCounts) 指定されたupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。Throwable.initCause(java.lang.Throwable)メソッドを呼び出すことによって、初期化されます。BatchUpdateException(int[] updateCounts, Throwable cause) 指定されたcauseとupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, int[] updateCounts) 指定されたreasonとupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, int[] updateCounts, Throwable cause) 指定されたreason、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, String SQLState, int[] updateCounts) 指定されたreason、SQLState、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause) 指定されたreason、SQLState、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts) 指定されたreason、SQLState、vendorCode、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause) 指定されたreason、SQLState、vendorCode、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause) 指定されたreason、SQLState、vendorCode、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。BatchUpdateException(Throwable cause) 指定されたcauseで初期化されたBatchUpdateExceptionオブジェクトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明long[]バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。int[]バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。クラスで宣言されたメソッド SQLException
getErrorCode, getNextException, getSQLState, iterator, setNextException修飾子と型メソッド説明intこのSQLExceptionオブジェクトのベンダー固有の例外コードを取得します。setNextException(SQLException ex)によってこのSQLExceptionオブジェクトにチェーンされた例外を取得します。このSQLExceptionオブジェクトのSQLStateを取得します。iterator()チェーンされたSQLExceptionについてのイテレータを返します。voidチェーンの最後にSQLExceptionオブジェクトを追加します。Throwableクラスで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString修飾子と型メソッド説明final voidaddSuppressed(Throwable exception) この例外を提供する目的で抑制された例外に、指定された例外を追加します。実行スタック・トレースを埋め込みます。getCause()このスロー可能オブジェクトの原因を返しますが、原因が存在しないか不明な場合はnullを返します。このスロー可能オブジェクトの、ローカライズされた記述を作成します。このスロー可能オブジェクトの詳細メッセージ文字列を返します。Throwable.printStackTrace()によって出力されるスタック・トレース情報にプログラムでアクセスできるようにします。final Throwable[]この例外を提供する目的で(通常try-with-resources文によって)抑制された例外をすべて含む配列を返します。このスロー可能オブジェクトの原因を、指定された値に初期化します。voidこのスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。voidこのスロー可能オブジェクトとそのバックトレースを指定された印刷ストリームに出力します。voidこのスロー可能オブジェクトとそのバックトレースを指定されたプリント・ライターに出力します。voidsetStackTrace(StackTraceElement[] stackTrace) Throwable.getStackTrace()によって返され、Throwable.printStackTrace()と関連メソッドによって出力される、スタック・トレース要素を設定します。toString()このスロー可能オブジェクトの短い記述を返します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。インタフェースIterableで宣言されたメソッド
forEach, spliterator修飾子と型メソッド説明default voidIterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。default Spliterator<Throwable> このIterableによって記述される要素に対するSpliteratorを作成します。
-
コンストラクタの詳細
-
BatchUpdateException
指定されたreason、SQLState、vendorCode、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。causeは初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)メソッドを呼び出すことで初期化できます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
reason- エラーの説明SQLState- 例外を識別するXOPENコードまたはSQL:2003コードvendorCode- 特定のデータベース・ベンダーの例外コードupdateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表す- 導入されたバージョン:
- 1.2
- 関連項目:
-
BatchUpdateException
指定されたreason、SQLState、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。causeは初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)メソッドを呼び出すことで初期化できます。 ベンダー・コードは0に初期化されます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
reason- 例外の説明SQLState- 例外を識別するXOPENコードまたはSQL:2003コードupdateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表す- 導入されたバージョン:
- 1.2
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(String reason, int[] updateCounts) 指定されたreasonとupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。causeは初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)メソッドを呼び出すことで初期化できます。SQLStateはnullに初期化され、ベンダー・コードは0に初期化されます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
reason- 例外の説明updateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表す- 導入されたバージョン:
- 1.2
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(int[] updateCounts) 指定されたupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。Throwable.initCause(java.lang.Throwable)メソッドを呼び出すことによって、初期化されます。reasonおよびSQLStateはnullに初期化され、ベンダー・コードは0に初期化されます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
updateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表す- 導入されたバージョン:
- 1.2
- 関連項目:
-
BatchUpdateException
public BatchUpdateException()BatchUpdateExceptionオブジェクトを構築します。reason、SQLState、およびupdateCountsはnullに初期化され、ベンダー・コードは0に初期化されます。causeは初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)メソッドを呼び出すことで初期化できます。- 導入されたバージョン:
- 1.2
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(Throwable cause) 指定されたcauseで初期化されたBatchUpdateExceptionオブジェクトを構築します。SQLStateおよびupdateCountsはnullに初期化され、ベンダー・コードは0に初期化されます。reasonはcause==nullの場合にnullに初期化され、cause!=nullの場合にcause.toString()に初期化されます。- パラメータ:
cause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.6
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(int[] updateCounts, Throwable cause) 指定されたcauseとupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。SQLStateはnullに初期化され、ベンダー・コードは0に初期化されます。reasonはcause==nullの場合にnullに初期化され、cause!=nullの場合にcause.toString()に初期化されます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
updateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表すcause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.6
- 関連項目:
-
BatchUpdateException
指定されたreason、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。SQLStateはnullに初期化され、ベンダー・コードは0に初期化されます。ノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。- パラメータ:
reason- 例外の説明updateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表すcause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.6
- 関連項目:
-
BatchUpdateException
指定されたreason、SQLState、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。 ベンダー・コードは0に初期化されます。- パラメータ:
reason- 例外の説明SQLState- 例外を識別するXOPENコードまたはSQL:2003コードupdateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表すノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。cause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.6
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause) 指定されたreason、SQLState、vendorCode、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。- パラメータ:
reason- エラーの説明SQLState- 例外を識別するXOPENコードまたはSQL:2003コードvendorCode- 特定のデータベース・ベンダーの例外コードupdateCounts-intの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表すノート:
updateCountsのオーバーフローに関する検証は行われません。このため、コンストラクタBatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts, Throwable cause)を使用することをお薦めします。cause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.6
- 関連項目:
-
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause) 指定されたreason、SQLState、vendorCode、cause、およびupdateCountsで初期化されたBatchUpdateExceptionオブジェクトを構築します。返される更新カウントが
Integer.MAX_VALUEを超える可能性がある場合は、このコンストラクタを使用するようにしてください。- パラメータ:
reason- エラーの説明SQLState- 例外を識別するXOPENコードまたはSQL:2003コードvendorCode- 特定のデータベース・ベンダーの例外コードupdateCounts-longの配列。各要素は、コマンドの失敗後に処理を続けるJDBCドライバのバッチ内にある各SQLコマンドの更新カウント、Statement.SUCCESS_NO_INFOまたはStatement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止するJDBCドライバのバッチ内にある各SQLコマンドの、失敗前の更新カウントまたはStatement.SUCCESS_NO_INFOを表すcause- このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存されます); null値が許可されており、原因が存在しないか不明であることを示します。- 導入されたバージョン:
- 1.8
-
-
メソッドの詳細
-
getUpdateCounts
public int[] getUpdateCounts()バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。 コマンドの1つが正しく実行されなかった場合、バッチ更新を実装するドライバは、バッチに残っているコマンドの処理を続けることも中止することもできます。 ドライバがコマンドの処理を継続する場合、このメソッドによって返される配列は、バッチにあるコマンドと同じ数の要素を持っています。そうでない場合、配列は、BatchUpdateExceptionがスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。このメソッドが返す可能性のある値は、Java 2 SDK, Standard Edition, Version 1.3で変更されました。 これは、
BatchUpdateExceptionオブジェクトがスローされたあともバッチ更新内のコマンドの処理を継続する、という新しいオプションに適応するために行われました。- 戻り値:
- このエラーが発生するまでに正常に実行された更新の更新カウントを含む
int型の配列。 ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。- 更新カウント
- コマンドが正常に実行されたが影響を受けた行数は不明であることを示す
Statement.SUCCESS_NO_INFO - コマンドが正常に実行されなかったことを示す
Statement.EXECUTE_FAILED
- 導入されたバージョン:
- 1.3
- 関連項目:
-
getLargeUpdateCounts
public long[] getLargeUpdateCounts()バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。 コマンドの1つが正しく実行されなかった場合、バッチ更新を実装するドライバは、バッチに残っているコマンドの処理を続けることも中止することもできます。 ドライバがコマンドの処理を継続する場合、このメソッドによって返される配列は、バッチにあるコマンドと同じ数の要素を持っています。そうでない場合、配列は、BatchUpdateExceptionがスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。Statement.executeLargeBatchが呼び出され、返される更新カウントがInteger.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。- 戻り値:
- このエラーが発生するまでに正常に実行された更新の更新カウントを含む
long型の配列。 ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。- 更新カウント
- コマンドが正常に実行されたが影響を受けた行数は不明であることを示す
Statement.SUCCESS_NO_INFO - コマンドが正常に実行されなかったことを示す
Statement.EXECUTE_FAILED
- 導入されたバージョン:
- 1.8
-