MSDNは、OLEDB プロバイダーの JET トランザクションの分離について次のように説明しています。
Jet は、トランザクションで 5 レベルのネストをサポートしています。トランザクションでサポートされている唯一のモードは、Read Committed です。より低いレベルのトランザクション分離を設定すると、Read Committed が意味されます。より高いレベルを設定すると、StartTransaction が失敗します。
Jet は、単一フェーズ コミットのみをサポートします。
MSDNは次のように説明Read Committed
しています。
データの読み取り中は共有ロックを保持してダーティ リードを回避することを指定しますが、トランザクションの終了前にデータが変更される可能性があるため、反復不可能な読み取りまたはファントム データが発生する可能性があります。このオプションは、SQL Server のデフォルトです。
私の質問は次のとおりです。
単一フェーズ コミットとは これは、トランザクションと分離にどのような影響を及ぼしますか?
上記の Read Committed 分離レベルは、ここでの私の要件に適していますか?
- Jet を使用してシリアライズ可能なトランザクション分離を実現する最善の方法は何ですか?