- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.sql.SQLException
-
- java.sql.BatchUpdateException
-
- すべての実装されたインタフェース:
Serializable
,Iterable<Throwable>
public class BatchUpdateException extends SQLException
バッチ更新操作中にエラーが発生したときにスローされる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
オブジェクトを構築します。BatchUpdateException(int[] updateCounts)
指定されたupdateCounts
で初期化されたBatchUpdateException
オブジェクトを構築します。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[]
getLargeUpdateCounts()
バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。int[]
getUpdateCounts()
バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。-
インタフェース java.lang.Iterableで宣言されたメソッド
forEach, spliterator
-
クラス java.lang.Objectで宣言されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、wait、wait、wait
-
クラス java.sql.SQLExceptionで宣言されたメソッド
getErrorCode, getNextException, getSQLState, iterator, setNextException
-
-
-
-
コンストラクタの詳細
-
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
指定された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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int[] updateCounts)
指定された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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
BatchUpdateException
public BatchUpdateException()
BatchUpdateException
オブジェクトを構築します。reason
、SQLState
、およびupdateCounts
はnull
に初期化され、ベンダー・コードは0に初期化されます。cause
は初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)
メソッドを呼び出すことで初期化できます。
-
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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
BatchUpdateException
public BatchUpdateException(String reason, int[] updateCounts, Throwable cause)
指定された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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
BatchUpdateException
public BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
指定された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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
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(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
-
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()
-
getLargeUpdateCounts
public long[] getLargeUpdateCounts()
バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。 コマンドの1つが正しく実行されなかった場合、バッチ更新を実装するドライバは、バッチに残っているコマンドの処理を続けることも中止することもできます。 ドライバがコマンドの処理を継続する場合、このメソッドによって返される配列は、バッチにあるコマンドと同じ数の要素を持っています。そうでない場合、配列は、BatchUpdateException
がスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。Statement.executeLargeBatch
が呼び出され、返される更新カウントがInteger.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。- 戻り値:
- このエラーが発生するまでに正常に実行された更新の更新カウントを含む
long
型の配列。 ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。- 更新カウント
- コマンドが正常に実行されたが影響を受けた行数は不明であることを示す
Statement.SUCCESS_NO_INFO
- コマンドが正常に実行されなかったことを示す
Statement.EXECUTE_FAILED
- 導入されたバージョン:
- 1.8
-
-