WebSphere Application Server アクセス・インテント・ポリシーは、 ご使用の環境のリレーショナル・データベース全体にわたって CMP Bean データの分離レベルを定義する一貫性のある方法を提供します。
デプロイ済みアプリケーション内で、 アクセス・インテント・ポリシー concurrency definition および access type の組み合わせは、 データベース接続で Application Server が設定する分離レベル値を示します。 (並行性およびアクセス・タイプについて詳しくは、並行性制御 およびアクセス・インテントおよび分離レベル の項を参照してください。 このプロパティーの組み合わせは、 JDBC 準備済みステートメントを介して Application Server がデータベースに渡す更新ロック・フラグも示します。
各データベースは、WebSphere Application Server ほど多くの分離レベル定義を提供しません。データベースは、わずか 3 つのタイプの 1 つとして分離レベルを定義します。 さらに、着信接続にデータベースが設定する分離レベルのタイプを示すのは、1 つのパラメーターのみです。 3 つのタイプはそれぞれ、各データベース・ベンダーによって規定されているように、異なる パラメーター値により表されます。 例えば、1 つのデータベースは RR (JDBC 反復可能読み取り) と分離レベルを定義し、別のデータベースは同じ分離レベルを RC (JDBC 読み取りコミット) と定義する場合があります。
こうした不整合のため、WebSphere Application Server はパラメーター値にアクセス・インテント・ポリシーをマップしません。 代わりに、Application Server はアクセス・インテント・ポリシーを、すべてのデータベース・ベンダーに共通な分離レベルのタイプにマップします。
以下のマトリックスは、アクセス・インテント・ポリシーが、 どのように各種のデータベース分離レベルに対応し、 ロック設定を更新するかを示しています。
アクセス・インテント・プロファイル | 分離レベル | 更新ロック・インプリメンテーション | |||||
---|---|---|---|---|---|---|---|
DB2 | Oracle* | SyBase | Informix | Cloudscape | SQL Server | ||
wsPessimisticUpdate- Weakest LockAtLoad (デフォルト・ポリシー) | RR | RC | RR | RR | RR | RR | いいえ (*Oracle、はい) |
wsPessimisticUpdate | RR | RC | RR | RR | RR | RR | はい |
wsPessimisticRead | RR | RC | RR | RR | RR | RR | いいえ |
wsOptimisticUpdate | RC | RC | RC | RC | RC | RC | いいえ |
wsOptimisticRead | RC | RC | RC | RC | RC | RC | いいえ |
wsPessimisticUpdate No-Collisions | RC | RC | RC | RC | RC | RC | いいえ |
wsPessimisticUpdate- 排他的 | S | S | S | S | S | S | はい |
次の表は、 更新インテント・ロック中に使用される SQL キーワードと SQL に課せられる制約事項を示します。
データベース | ロック更新に使用される SQL 構文 | 結合制限 | Order by 制限 | 副選択制限 | 集約制限 |
---|---|---|---|---|---|
DB2 | FOR UPDATE OF | 不可 | 不可 | 不可 | 不可 |
DB2 UDB for iSeries (V5R3 以前) | FOR UPDATE OF | 不可 | 制限 * 付きで許可 | 制限 * 付きで許可 | 不可 |
DB2 UDB for iSeries (V5R4 以降) | WITH RS/RR USE AND KEEP EXCLUSIVE LOCKS | 不可 | 制限 * 付きで許可 | 制限 * 付きで許可 | 不可 |
DB2 on z/OS V8.x | WITH RS/RR USE AND KEEP UPDATE LOCKS | なし | なし | なし | なし |
DB2 UDB ワークステーション V8.2 | WITH RS/RR USE AND KEEP UPDATE LOCKS | なし | なし | なし | なし |
Oracle | FOR UPDATE | なし | なし | なし | なし |
Cloudscape | FOR UPDATE OF | 不可 | 不可 | 不可 | 不可 |
Informix | FOR UPDATE | 不可 | 不可 | 不可 | 不可 |
Sybase | FOR UPDATE | 不可 | 不可 | 不可 | 不可 |
Sqlserver | UPDLOCK | 不可 | 不可 | 不可 | 不可 |