WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

JDBC アプリケーションのカーソル保持機能 (Cursor holdability) サポート

カーソル保持機能 (Cursor holdability) は、リレーショナル・データベースとの JDBC の対話のオーバーヘッドを減少させるため、 アプリケーション・パフォーマンスの向上につながります。

カーソル保持機能 (Cursor holdability) を活動化することにより、ユーザーはトランザクションの境界を越えて使用可能な結果セットを保持し、複数の JDBC 呼び出しで使用できるようにすることができます。 保持機能の設定はデータベースのカーソルを起動し、新規値または結果セットを生成したトランザクションの確定を超えて新たに更新した行をアクティブのまま保持します。 このようにして、カーソルは結果セットを以降のトランザクションのステートメントで使用できるようにします。

カーソル保持機能 (Cursor holdability) の設定

以下のいずれかの技法を使用して、カーソル保持機能 (Cursor holdability) を設定します。 詳細については、Sun Microsystems, Inc. の Web サイト (http://java.sun.com) で入手できる JDBC 3.0 仕様を参照してください。
  • createStatement、prepareStatement、または prepareCall メソッドを仕様してステートメントを作成または準備する場合は、ResultSet.HOLD_CURSORS_OVER_COMMIT パラメーターを指定します。
  • Connection オブジェクトの setHoldability メソッドを呼び出します。このメソッドで設定するカーソル保持機能 (Cursor holdability) がデフォルトになります。 Statement オブジェクトにカーソル保持機能 (Cursor holdability) を指定すると、その値は Connection に指定した値をオーバーライドします。

    共用可能接続が 2 番目のハンドルにより参照された後で、その接続にカーソル保持機能 (Cursor holdability) を指定することはできません。 この時点で保持機能メソッドを呼び出すと、例外が生成されます。 共用可能接続にカーソル保持機能 (Cursor holdability) を設定する場合は、その接続をリストに入れる前にメソッドを呼び出します。 そうでない場合、共用可能接続は、以前のリスト化で適用したものと同じ保持機能の値を保持します。

  • データベースの資料を確認して、製品がデータ・ソース・プロパティーとしてカーソル保持機能 (Cursor holdability) をサポートしているかどうか、調べてください。 例えば DB2 は、データ・ソースのカスタム・プロパティーとして保持機能を設定している場合、保持機能トリガーに応答します。

接続とトランザクションの動作のカーソル保持機能 (Cursor holdability) への影響

WebSphere Application Server でカーソル保持機能 (Cursor holdability) を設定すると、異なるトランザクション・イベントについて次の動作が起こります。
  • 接続がクローズされると、すべてのステートメントおよび結果セットは、カーソル保持機能 (Cursor holdability) を設定してあってもクローズされます。
  • トランザクションをロールバックすると、すべての結果セットはカーソル保持機能 (Cursor holdability) を設定してあってもクローズされます。
  • ローカル・トランザクションをコミットすると、共用可能および共用不能の両方の接続が、トランザクションの境界を越えてオープンな結果セットを持つことができます。
  • グローバル・トランザクションをコミットすると、共用不能な接続がトランザクションの境界を越えてオープンな結果セットを持つことができます。 共用可能な接続の場合、ステートメントおよび結果セットは、カーソル保持 機能 (Cursor holdability) を設定してあってもクローズされます。カーソル 保持機能 (Cursor holdability) の値は、グローバル・トランザクションに 参加している共用可能接続に影響しません。
  • ローカル・トランザクションの有効範囲が終了すると、メソッド・レベルまたはアクティビティー・セッション・レベルのいずれかで、共用可能な接続のすべてのステートメントおよび結果セットがクローズされます。 共用できない接続のステートメントおよび結果セットは、クローズ・メソッドが接続で呼び出されるまでオープンのまま残ります。
注: 共用不可接続とのグローバル・トランザクションの場合は、バックエンド・データベースがカーソル保持機能 (Cursor holdability) のサポートを担当します。



関連タスク
WebSphere Application Server でのトランザクション・サポート
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/rdat_cursorhold.html