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 [仅限桌面应用] |
标头 | comadmin.h |