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を呼び出すことをお薦めします。
| コンストラクタと説明 |
|---|
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()
バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。
|
getErrorCode, getNextException, getSQLState, iterator, setNextExceptionaddSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic 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を表すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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を表すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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を表すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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を表すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)public BatchUpdateException()
BatchUpdateExceptionオブジェクトを構築します。reason、SQLState、およびupdateCountsはnullに初期化され、ベンダー・コードは0に初期化されます。causeは初期化されませんが、続いてThrowable.initCause(java.lang.Throwable)メソッドを呼び出すことで初期化できます。
public BatchUpdateException(Throwable cause)
causeで初期化されたBatchUpdateExceptionオブジェクトを構築します。SQLStateおよびupdateCountsはnullに初期化され、ベンダー・コードは0に初期化されます。reasonはcause==nullの場合にnullに初期化され、cause!=nullの場合にcause.toString()に初期化されます。cause - このSQLExceptionの基となる原因(あとでgetCause()メソッドで取得するために保存される)。null値が許可されており、原因が存在しないか不明であることを示すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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値が許可されており、原因が存在しないか不明であることを示すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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値が許可されており、原因が存在しないか不明であることを示すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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値が許可されており、原因が存在しないか不明であることを示すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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値が許可されており、原因が存在しないか不明であることを示すBatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)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値が許可されており、原因が存在しないか不明であることを示すpublic int[] getUpdateCounts()
BatchUpdateExceptionがスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。
このメソッドが返す可能性のある値は、Java 2 SDK, Standard Edition, Version 1.3で変更されました。これは、BatchUpdateExceptionオブジェクトがスローされたあともバッチ更新内のコマンドの処理を継続する、という新しいオプションに適応するために行われました。
int型の配列。ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。
Statement.SUCCESS_NO_INFO
Statement.EXECUTE_FAILED
getLargeUpdateCounts()public long[] getLargeUpdateCounts()
BatchUpdateExceptionがスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。
Statement.executeLargeBatchが呼び出され、返される更新カウントがInteger.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。
long型の配列。ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。
Statement.SUCCESS_NO_INFO
Statement.EXECUTE_FAILED
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.