18.4.10 ODBI パラメータ
ODBIパラメータは、すべてのODBCデータベース接続のトランザクション分離レベルを指定するために使われます。
省略値は0です。
有効値は次のテーブルの通りです。その他の値は無視され、省略値のトランザクション分離レベルが使われます。すべてのトランザクション分離レベルをサポートせず、トランザクション分離レベルの設定を試みるとエラーを返すODBC ドライバーもあります。
注:この値は、実行中のアプリケーションのすべてのODBCデータベースへの接続に影響します。したがって、この値を指定する場合は慎重な検討が必要です。これは、ユーザー、アプリケーションの開発者およびユーザーが選択したデータベース管理システムとの間での問題です。
値
|
トランザクション分離レベル
|
意味
|
0
|
SQL_TXN_READ_COMMITTED
|
データベースの省略値の方が大きい場合以外、値2を参照します。
|
1
|
SQL_TXN_READ_UNCOMMITTED
|
ダーティー・リード、非再現リードおよびファントムが使えます。これは、SQL Anywhereの省略値です。
|
2
|
SQL_TXN_READ_COMMITTED
|
ダーティー・リードは使えません。非再現リードおよびファントムが使えます。これは、OracleとSQLサーバーの省略値です。
|
3
|
SQL_TXN_REPEATABLE_READ
|
ダーティー・リードおよび非再現リードは使えません。ファントムは使えます。
|
4
|
SQL_TXN_SERIALIZABLE
|
トランザクションは直列可能です。ダーティー・リード、非再現リードおよびファントムは使えません。
|
6
|
SQL Serverのみ。SQL_TXN_SS_SNAPSHOT
|
LANSAのWebサイトのヒントとテクニックの中の 「LANSAおよびSQL Server構成オプション」(英語)を参照してください。
|
|
各プラットフォームの注意事項
IBM i:
- コミットメント制御下にあるファイルについては、ファイルが更新される前にコミットメント定義が存在する必要があります。詳細については、『LANSA/AD ユーザーガイド』内の 「コミットメント制御」を参照してください。
- OBCIパラメータは無視されます。コミットメント定義が存在する場合、LANSAは、コミットメント制御が開始された場合に使われるロック・レベルに適切なトランザクション分離レベルを設定します。存在しない場合、トランザクション分離レベルは、リード・アンコミッティド に設定されます。詳細については、 「SQL参照のためDB2」内の「分離レベル」を参照してください。
以下も参照してください。
『LANSA アプリケーション設計ガイド』の「コミットメント制御」