OleDbConnection.EnlistDistributedTransaction(ITransaction) Método

Definição

Inscreve-se na transação especificada como uma transação distribuída.Enlists in the specified transaction as a distributed transaction.

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

Parâmetros

transaction
ITransaction

Uma referência a um ITransaction existente no qual se inscrever.A reference to an existing ITransaction in which to enlist.

Comentários

Novo no ADO.NET 2,0 é o suporte para usar o método EnlistTransaction para se inscrever em uma transação distribuída.New in ADO.NET 2.0 is support for using the EnlistTransaction method to enlist in a distributed transaction. Como ele inscreve uma conexão em uma instância Transaction, o EnlistTransaction aproveita a funcionalidade disponível no namespace System.Transactions para gerenciar transações distribuídas, tornando-o preferível ao EnlistDistributedTransaction para essa finalidade.Because it enlists a connection in a Transaction instance, EnlistTransaction takes advantage of functionality available in the System.Transactions namespace for managing distributed transactions, making it preferable to EnlistDistributedTransaction for this purpose. Para obter mais informações, consulte transações distribuídas.For more information, see Distributed Transactions.

Você pode continuar a inscrever-se em uma transação distribuída existente usando o método EnlistDistributedTransaction se a inscrição automática estiver desabilitada.You can continue to enlist in an existing distributed transaction using the EnlistDistributedTransaction method if auto-enlistment is disabled. A inlistação em uma transação distribuída existente garante que, se a transação for confirmada ou revertida, as modificações feitas pelo código na fonte de dados também serão confirmadas ou revertidas.Enlisting in an existing distributed transaction makes sure that, if the transaction is committed or rolled back, modifications made by the code at the data source are also committed or rolled back. Para obter mais informações sobre transações distribuídas, consulte transações distribuídas.For more information about distributed transactions, see Distributed Transactions.

EnlistDistributedTransaction retornará uma exceção se o OleDbConnection já tiver iniciado uma transação usando BeginTransaction.EnlistDistributedTransaction returns an exception if the OleDbConnection has already started a transaction using BeginTransaction. No entanto, se a transação for uma transação local iniciada na fonte de dados (por exemplo, executando explicitamente a instrução de BEGIN TRANSACTION usando um objeto OleDbCommand), EnlistDistributedTransaction reverterá a transação local e inscreverá-se nas listas de distribuição existentes transação conforme solicitado.However, if the transaction is a local transaction started at the data source (for example, by explicitly executing the BEGIN TRANSACTION statement using an OleDbCommand object), EnlistDistributedTransaction rolls back the local transaction and enlists in the existing distributed transaction as requested. Você não receberá um aviso de que a transação local foi revertida e é responsável pelo gerenciamento de qualquer transação local não iniciada usando BeginTransaction.You won't receive notice that the local transaction was rolled back and are responsible for managing any local transactions not started using BeginTransaction.

Aplica-se a

Veja também