OracleConnection.EnlistDistributedTransaction(ITransaction) 方法

定义

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

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ distributedTransaction);
public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction distributedTransaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (distributedTransaction As ITransaction)

参数

distributedTransaction
ITransaction

对要登记的现有 ITransaction 项的引用。

注解

ADO.NET 2.0 中的新增功能支持使用 EnlistTransaction 方法在分布式事务中登记。 由于它在实例中 Transaction 登记连接, EnlistTransaction 利用命名空间中 System.Transactions 提供的功能来管理分布式事务,因此最好使用 EnlistDistributedTransaction 实现此目的。 有关详细信息,请参阅 分布式事务

可以使用 继续在现有分布式事务中登记

EnlistDistributedTransaction 如果禁用自动登记,则方法。 在现有分布式事务中登记可确保,如果提交或回滚事务,则数据源中的代码所做的修改也会提交或回滚。

EnlistDistributedTransaction 如果 OracleConnection 已使用 BeginTransaction事务启动,则返回异常。 但是,如果事务是从数据源(例如,使用 OracleCommand 对象显式执行 BEGIN TRANSACTION 语句)启动的本地事务, EnlistDistributedTransaction 则回滚本地事务,并按请求在现有分布式事务中登记。 不会收到本地事务回滚的通知,并且负责管理未开始使用 BeginTransaction的任何本地事务。

适用于