次の方法で共有


COMAdminTxIsolationLevelOptions 列挙 (comadmin.h)

トランザクションに使用する分離レベルを示します。

構文

typedef enum COMAdminTxIsolationLevelOptions {
  COMAdminTxIsolationLevelAny = 0,
  COMAdminTxIsolationLevelReadUnCommitted,
  COMAdminTxIsolationLevelReadCommitted,
  COMAdminTxIsolationLevelRepeatableRead,
  COMAdminTxIsolationLevelSerializable
} ;

定数

 
COMAdminTxIsolationLevelAny
値: 0
任意の分離レベルがサポートされています。 この分離レベルを持つダウンストリーム コンポーネントでは、常に、その即時アップストリーム コンポーネントが使用するのと同じ分離レベルが使用されます。 トランザクション内のルート オブジェクトの分離レベルが COMAdminTxIsolationLevelAny に構成されている場合、その分離レベルは COMAdminTxIsolationLevelSerializable になります。
COMAdminTxIsolationLevelReadUnCommitted
トランザクションは、別のトランザクションによって変更されている場合でも、任意のデータを読み取ることができます。 トランザクション中に、任意の種類の新しいデータを挿入できます。 これは最も安全でない分離レベルですが、最大のコンカレンシーが可能です。
COMAdminTxIsolationLevelReadCommitted
トランザクションは、コミットされていない別のトランザクションによって変更されているデータを読み取ることができません。 トランザクション中に、任意の種類の新しいデータを挿入できます。 これは、Microsoft SQL Serverの既定の分離レベルです。
COMAdminTxIsolationLevelRepeatableRead
現在のトランザクションによって読み取られたデータは、現在のトランザクションが完了するまで、別のトランザクションで変更することはできません。 トランザクション中に、任意の種類の新しいデータを挿入できます。
COMAdminTxIsolationLevelSerializable
現在のトランザクションによって読み取られたデータは、現在のトランザクションが完了するまで、別のトランザクションで変更することはできません。 現在のトランザクションに影響を与える新しいデータは挿入できません。 これは最も安全な分離レベルであり、既定ですが、最も低いレベルのコンカレンシーを許可します。

注釈

この列挙は、トランザクションを使用するコンポーネントのトランザクション分離レベルを構成するために使用されます。 また、 IServiceTransactionConfigBase::IsolationLevel にパラメーターとして渡すことによって、コンポーネントなしでトランザクション サービスを使用するための分離レベルを構成するためにも使用されます。 このメソッドは、CoCreateActivity によって作成されたアクティビティを通じて送信された作業、または CoEnterServiceDomain と CoLeaveServiceDomain の呼び出しの間で囲まれた作業に対して CServiceConfig を介して呼び出されます。

ダウンストリーム コンポーネントがアップストリーム コンポーネントよりも高い分離レベルで構成され、トランザクションに参加しようとすると、エラーが発生し、トランザクションが中止されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header comadmin.h

こちらもご覧ください

CoCreateActivity

CoEnterServiceDomain

トランザクション分離レベルの構成