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, setNextException
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
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
を表す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.