OleDbConnection.EnlistDistributedTransaction 方法

在指定的事务中登记为分布式事务。

**命名空间:**System.Data.OleDb
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public Sub EnlistDistributedTransaction ( _
    transaction As ITransaction _
)
用法
Dim instance As OleDbConnection
Dim transaction As ITransaction

instance.EnlistDistributedTransaction(transaction)
public void EnlistDistributedTransaction (
    ITransaction transaction
)
public:
void EnlistDistributedTransaction (
    ITransaction^ transaction
)
public void EnlistDistributedTransaction (
    ITransaction transaction
)
public function EnlistDistributedTransaction (
    transaction : ITransaction
)

参数

  • transaction
    对用于登记的现有 ITransaction 的引用。

备注

ADO.NET 2.0 中的新增功能支持使用 EnlistTransaction 方法在分布式事务中登记。因为它在 Transaction 实例中登记一个连接,所以 EnlistTransaction 可以利用 System.Transactions 命名空间中的可用功能管理分布式事务,从而在这方面相对于 EnlistDistributedTransaction 更为可取。有关更多信息,请参见 执行分布式事务

如果自动登记被禁用,则可以使用 EnlistDistributedTransaction 方法继续在现有分布式事务中登记。在现有分布式事务中登记可以确保:如果提交或回滚该事务,也将提交或回滚代码在数据源处所做的修改。有关分布式事务的更多信息,请参见 执行分布式事务

如果 OleDbConnection 已使用 BeginTransaction 启动了事务,EnlistDistributedTransaction 会返回异常。但是,如果该事务是在数据源启动的一个本地事务(例如,通过使用 OleDbCommand 对象显式执行 BEGIN TRANSACTION 语句),则 EnlistDistributedTransaction 将回滚该本地事务并根据请求在现有分布式事务中登记。您不会接收到该本地事务已回滚的通知,并且您负责管理没有使用 BeginTransaction 启动的任何本地事务。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1

请参见

参考

OleDbConnection 类
OleDbConnection 成员
System.Data.OleDb 命名空间

其他资源

连接到数据源