dotConnect for Oracle Documentation
Devart.Common Namespace / DbConnectionBase Class / EnlistTransaction Method
A reference to an existing System.Transactions.Transaction in which to enlist.
Example

In This Topic
    EnlistTransaction Method
    In This Topic
    Enlists in the specified transaction.
    Syntax
    'Declaration
     
    Public Overrides Sub EnlistTransaction( _
       ByVal transaction As Transaction _
    ) 
    public override void EnlistTransaction( 
       Transaction transaction
    )

    Parameters

    transaction
    A reference to an existing System.Transactions.Transaction in which to enlist.
    Remarks

    Once a connection is explicitly enlisted in a distributed transaction, it cannot be unenlisted or enlisted in another transaction until the first transaction finishes.

    This feature is not available in Direct mode.

    Example
    These samples demonstrate usage of EnlistTransaction.
    OracleCommand1.Connection=OracleConnection1;
    using (TransactionScope transScope = new TransactionScope()) {
     OracleConnection1.Open();
     OracleCommand1.ExecuteNonQuery();
     transScope.Complete();
    }
    OracleConnection1.Close();
    
    - or -
    
    OracleCommand1.Connection=OracleConnection1;
    OracleConnection1.Open();
    using (TransactionScope transScope = new TransactionScope()) {
     OracleConnection1.EnlistTransaction(Transaction.Current);
     OracleCommand1.ExecuteNonQuery();
     transScope.Complete();
    }
    OracleConnection1.Close();
    
    - or -
    
    CommittableTransaction cmtTx = new CommittableTransaction();
    OracleConnection1.Open();
    OracleConnection1.EnlistTransaction(cmtTx);
    OracleCommand1.ExecuteNonQuery();
    OracleConnection1.Close();
    Me.OracleCommand1.Connection = Me.OracleConnection1
    Using transScope = New Transactions.TransactionScope
      Me.OracleConnection1.Open()
      Me.OracleCommand1.ExecuteNonQuery()
      transScope.Complete()
    End Using
    Me.OracleConnection1.Close()
    
    - or -
    
    Me.OracleCommand1.Connection = Me.OracleConnection1
    Me.OracleConnection1.Open()
    Using transScope = New Transactions.TransactionScope
      Me.OracleConnection1.EnlistTransaction(Transactions.Transaction.Current)
      Me.OracleCommand1.ExecuteNonQuery()
      transScope.Complete()
    End Using
    Me.OracleConnection1.Close()
    
    - or -
    
    Dim cmtTx As New Transactions.CommittableTransaction
    Me.OracleConnection1.Open()
    Me.OracleConnection1.EnlistTransaction(cmtTx)
    Me.OracleCommand1.ExecuteNonQuery()
    Me.OracleConnection1.Close()
    See Also