OdbcConnection.EnlistDistributedTransaction(ITransaction) Método

Definição

Inscreve-se na transação especificada como uma transação distribuída.

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.

Comentários

Novo no ADO.NET 2.0 é o suporte para usar o EnlistTransaction método para se inscrever em uma transação distribuída. Como ele inscreve uma conexão em uma Transaction instância, EnlistTransaction aproveita a System.Transactions funcionalidade disponível no namespace para gerenciar transações distribuídas, tornando-a preferível a EnlistDistributedTransaction para essa finalidade. Para saber mais, confira Transações Distribuídas.

Você pode continuar a inscrever-se em uma transação distribuída existente usando o método se a EnlistDistributedTransaction inscrição automática estiver desabilitada. A inscriçã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 sejam confirmadas ou revertidas. Para obter mais informações sobre transações distribuídas, consulte Transações distribuídas.

EnlistDistributedTransaction retornará uma exceção se o OdbcConnection já tiver iniciado uma transação usando BeginTransaction. No entanto, se a transação for uma transação local iniciada na fonte de dados (por exemplo, executando explicitamente a instrução BEGIN TRANSACTION usando um OdbcCommand objeto ), EnlistDistributedTransaction reverterá a transação local e se inscreverá na transação distribuída existente, conforme solicitado. Você não receberá uma notificação de que a transação local foi revertida e é responsável por gerenciar todas as transações locais não iniciadas usando BeginTransaction.

Aplica-se a