OracleConnection.EnlistDistributedTransaction 方法

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

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

语法

声明
Public Sub EnlistDistributedTransaction ( _
    distributedTransaction As ITransaction _
)
用法
Dim instance As OracleConnection
Dim distributedTransaction As ITransaction

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

参数

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

备注

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

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

如果 OracleConnection 已使用 BeginTransaction 启动了事务,EnlistDistributedTransaction 会返回异常。但是,如果该事务是在数据源启动的一个本地事务(例如,通过使用 OracleCommand 对象显式执行 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

请参见

参考

OracleConnection 类
OracleConnection 成员
System.Data.OracleClient 命名空间