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 方法在分布式事务中登记。 由于 EnlistTransaction 在实例中Transaction登记连接,因此它利用命名空间中System.Transactions可用于管理分布式事务的功能,因此对于此目的,EnlistDistributedTransaction 更可取。 有关详细信息,请参阅分布式事务

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

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

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

适用于