Win32 API 日本語リファレンス
ホームSystem.ComponentServices › COMAdminTxIsolationLevelOptions

COMAdminTxIsolationLevelOptions

列挙型
基底型i4

メンバー 5

名前10進16進説明
COMAdminTxIsolationLevelAny00x0任意の分離レベルがサポートされます。この分離レベルを持つダウンストリームコンポーネントは、常に直近のアップストリームコンポーネントと同じ分離レベルを使用します。トランザクションのルートオブジェクトの分離レベルが COMAdminTxIsolationLevelAny に構成されている場合、その分離レベルは COMAdminTxIsolationLevelSerializable になります。
COMAdminTxIsolationLevelReadUnCommitted10x1トランザクションは、他のトランザクションによって変更中のデータであっても、任意のデータを読み取ることができます。トランザクション中に任意の種類の新しいデータを挿入できます。これは最も安全性の低い分離レベルですが、最も高い同時実行性が得られます。
COMAdminTxIsolationLevelReadCommitted20x2トランザクションは、コミットされていない他のトランザクションによって変更中のデータを読み取ることはできません。トランザクション中に任意の種類の新しいデータを挿入できます。これは Microsoft SQL Server における既定の分離レベルです。
COMAdminTxIsolationLevelRepeatableRead30x3現在のトランザクションが読み取ったデータは、現在のトランザクションが終了するまで他のトランザクションによって変更できません。トランザクション中に任意の種類の新しいデータを挿入できます。
COMAdminTxIsolationLevelSerializable40x4現在のトランザクションが読み取ったデータは、現在のトランザクションが終了するまで他のトランザクションによって変更できません。現在のトランザクションに影響を与えるような新しいデータを挿入することもできません。これは最も安全な分離レベルであり、既定値でもありますが、同時実行性は最も低くなります。

公式ドキュメント

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

解説(Remarks)

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

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum COMAdminTxIsolationLevelOptions : int {
    COMAdminTxIsolationLevelAny = 0,
    COMAdminTxIsolationLevelReadUnCommitted = 1,
    COMAdminTxIsolationLevelReadCommitted = 2,
    COMAdminTxIsolationLevelRepeatableRead = 3,
    COMAdminTxIsolationLevelSerializable = 4
} COMAdminTxIsolationLevelOptions;
public enum COMAdminTxIsolationLevelOptions : int
{
    COMAdminTxIsolationLevelAny = 0,
    COMAdminTxIsolationLevelReadUnCommitted = 1,
    COMAdminTxIsolationLevelReadCommitted = 2,
    COMAdminTxIsolationLevelRepeatableRead = 3,
    COMAdminTxIsolationLevelSerializable = 4,
}
Public Enum COMAdminTxIsolationLevelOptions As Integer
    COMAdminTxIsolationLevelAny = 0
    COMAdminTxIsolationLevelReadUnCommitted = 1
    COMAdminTxIsolationLevelReadCommitted = 2
    COMAdminTxIsolationLevelRepeatableRead = 3
    COMAdminTxIsolationLevelSerializable = 4
End Enum
import enum

class COMAdminTxIsolationLevelOptions(enum.IntEnum):
    COMAdminTxIsolationLevelAny = 0
    COMAdminTxIsolationLevelReadUnCommitted = 1
    COMAdminTxIsolationLevelReadCommitted = 2
    COMAdminTxIsolationLevelRepeatableRead = 3
    COMAdminTxIsolationLevelSerializable = 4
// COMAdminTxIsolationLevelOptions
pub const COMAdminTxIsolationLevelAny: i32 = 0;
pub const COMAdminTxIsolationLevelReadUnCommitted: i32 = 1;
pub const COMAdminTxIsolationLevelReadCommitted: i32 = 2;
pub const COMAdminTxIsolationLevelRepeatableRead: i32 = 3;
pub const COMAdminTxIsolationLevelSerializable: i32 = 4;
// COMAdminTxIsolationLevelOptions
const (
	COMAdminTxIsolationLevelAny int32 = 0
	COMAdminTxIsolationLevelReadUnCommitted int32 = 1
	COMAdminTxIsolationLevelReadCommitted int32 = 2
	COMAdminTxIsolationLevelRepeatableRead int32 = 3
	COMAdminTxIsolationLevelSerializable int32 = 4
)
const
  COMAdminTxIsolationLevelAny = 0;
  COMAdminTxIsolationLevelReadUnCommitted = 1;
  COMAdminTxIsolationLevelReadCommitted = 2;
  COMAdminTxIsolationLevelRepeatableRead = 3;
  COMAdminTxIsolationLevelSerializable = 4;
// COMAdminTxIsolationLevelOptions
pub const COMAdminTxIsolationLevelAny: i32 = 0;
pub const COMAdminTxIsolationLevelReadUnCommitted: i32 = 1;
pub const COMAdminTxIsolationLevelReadCommitted: i32 = 2;
pub const COMAdminTxIsolationLevelRepeatableRead: i32 = 3;
pub const COMAdminTxIsolationLevelSerializable: i32 = 4;
const
  COMAdminTxIsolationLevelAny* = 0
  COMAdminTxIsolationLevelReadUnCommitted* = 1
  COMAdminTxIsolationLevelReadCommitted* = 2
  COMAdminTxIsolationLevelRepeatableRead* = 3
  COMAdminTxIsolationLevelSerializable* = 4
enum COMAdminTxIsolationLevelOptions : int {
    COMAdminTxIsolationLevelAny = 0,
    COMAdminTxIsolationLevelReadUnCommitted = 1,
    COMAdminTxIsolationLevelReadCommitted = 2,
    COMAdminTxIsolationLevelRepeatableRead = 3,
    COMAdminTxIsolationLevelSerializable = 4,
}
#define global COMAdminTxIsolationLevelAny             0x0
#define global COMAdminTxIsolationLevelReadUnCommitted 0x1
#define global COMAdminTxIsolationLevelReadCommitted   0x2
#define global COMAdminTxIsolationLevelRepeatableRead  0x3
#define global COMAdminTxIsolationLevelSerializable    0x4