JavaTM Platform
Standard Ed. 6

java.sql
クラス BatchUpdateException

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 になります。

導入されたバージョン:
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)
          指定された reasoncause、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。
BatchUpdateException(String reason, String SQLState, int[] updateCounts)
          指定された reasonSQLState、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。
BatchUpdateException(String reason, String SQLState, int[] updateCounts, Throwable cause)
          指定された reasonSQLStatecause、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts)
          指定された reasonSQLStatevendorCode、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。
BatchUpdateException(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)
          指定された reasonSQLStatevendorCodecause、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。
BatchUpdateException(Throwable cause)
          指定された cause で初期化された BatchUpdateException オブジェクトを構築します。
 
メソッドの概要
 int[] getUpdateCounts()
          バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。
 
クラス java.sql.SQLException から継承されたメソッド
getErrorCode, getNextException, getSQLState, iterator, setNextException
 
クラス java.lang.Throwable から継承されたメソッド
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            int[] updateCounts)
指定された reasonSQLStatevendorCode、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。cause は初期化されません。Throwable.initCause(java.lang.Throwable) メソッドを呼び出すことによって、あとでこれを初期化できます。

パラメータ:
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

public BatchUpdateException(String reason,
                            String SQLState,
                            int[] updateCounts)
指定された reasonSQLState、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。cause は初期化されません。Throwable.initCause(java.lang.Throwable) メソッドを呼び出すことによって、あとでこれを初期化できます。ベンダーコードは 0 に初期化されます。 

パラメータ:
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) メソッドを呼び出すことによって、あとでこれを初期化できます。SQLStatenull に初期化され、ベンダーコードは 0 に初期化されます。 

パラメータ:
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 - int の配列。各要素は、コマンドの失敗後に処理を続ける JDBC ドライバのバッチ内にある各 SQL コマンドの更新カウント、Statement.SUCCESS_NO_INFO または Statement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止する JDBC ドライバのバッチ内にある 各 SQL コマンドの、失敗前の更新カウントまたは Statement.SUCCESS_NO_INFO を表す
導入されたバージョン:
1.2

BatchUpdateException

public BatchUpdateException()
BatchUpdateException オブジェクトを構築します。reasonSQLState、および updateCountsnull に初期化され、ベンダーコードは 0 に初期化されます。cause は初期化されません。Throwable.initCause(java.lang.Throwable) メソッドを呼び出すことによって、あとでこれを初期化できます。

導入されたバージョン:
1.2

BatchUpdateException

public BatchUpdateException(Throwable cause)
指定された cause で初期化された BatchUpdateException オブジェクトを構築します。SQLState および updateCountsnull に初期化され、ベンダーコードは 0 に初期化されます。 reasoncause==null の場合に null に初期化され、cause!=null の場合に cause.toString() に初期化されます。

パラメータ:
cause - この SQLException の基となる原因 (あとで getCause() メソッドで取得するために保存される)。null 値が許可されており、原因が存在しないか不明であることを示す
導入されたバージョン:
1.6

BatchUpdateException

public BatchUpdateException(int[] updateCounts,
                            Throwable cause)
指定された cause および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。SQLStatenull に初期化され、ベンダーコードは 0 に初期化されます。 reasoncause==null の場合に null に初期化され、cause!=null の場合に cause.toString() に初期化されます。

パラメータ:
updateCounts - int の配列。各要素は、コマンドの失敗後に処理を続ける JDBC ドライバのバッチ内にある各 SQL コマンドの更新カウント、Statement.SUCCESS_NO_INFO または Statement.EXECUTE_FAILED、あるいはコマンドの失敗後に処理を停止する JDBC ドライバのバッチ内にある 各 SQL コマンドの、失敗前の更新カウントまたは Statement.SUCCESS_NO_INFO を表す
cause - この SQLException の基となる原因 (あとで getCause() メソッドで取得するために保存される)。null 値が許可されており、原因が存在しないか不明であることを示す
導入されたバージョン:
1.6

BatchUpdateException

public BatchUpdateException(String reason,
                            int[] updateCounts,
                            Throwable cause)
指定された reasoncause、および updateCounts で初期化された BatchUpdateException オブジェクトを構築します。SQLStatenull に初期化され、ベンダーコードは 0 に初期化されます。

パラメータ:
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

public BatchUpdateException(String reason,
                            String SQLState,
                            int[] updateCounts,
                            Throwable cause)
指定された reasonSQLStatecause、および 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 を表す
cause - この SQLException の基となる原因 (あとで getCause() メソッドで取得するために保存される)。null 値が許可されており、原因が存在しないか不明であることを示す
導入されたバージョン:
1.6

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            int[] updateCounts,
                            Throwable cause)
指定された reasonSQLStatevendorCodecause、および 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 を表す
cause - この SQLException の基となる原因 (あとで getCause() メソッドで取得するために保存される)。null 値が許可されており、原因が存在しないか不明であることを示す
導入されたバージョン:
1.6
メソッドの詳細

getUpdateCounts

public int[] getUpdateCounts()
バッチ更新内の更新文のうち、この例外が発生するまでに正常に実行されたものすべてに対する更新カウントを取り出します。コマンドの 1 つが正しく実行されなかった場合、バッチ更新を実装するドライバは、バッチに残っているコマンドの処理を続けることも中止することもできます。ドライバがコマンドの処理を継続する場合、このメソッドによって返される配列は、バッチにあるコマンドと同じ数の要素を持っています。 そうでない場合、配列は、BatchUpdateException がスローされるまでに正常に実行されたすべてのコマンドに対する更新カウントを含んでいます。

このメソッドに使用できる戻り値は、Java 2 SDK, Standard Edition, Version 1.3 で変更されました。これは、BatchUpdateException オブジェクトがスローされたあともバッチ更新内のコマンドの処理を継続する、という新しいオプションに適応するために行われました。

戻り値:
このエラーが発生するまでに正常に実行された更新の更新カウントを含む int 型の配列。ただし、エラー後もドライバがコマンドの処理を続ける場合は、バッチ内の各コマンドに対して次のいずれかの値が格納される。
  1. 更新カウント
  2. コマンドが正常に実行されたが影響を受けた行数は不明であることを示す Statement.SUCCESS_NO_INFO
  3. コマンドが正常に実行されなかったことを示す Statement.EXECUTE_FAILED
導入されたバージョン:
1.3

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。