OracleConnection.EnlistDistributedTransaction(ITransaction) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inscreve-se na transação especificada como uma transação distribuída.
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)
Parâmetros
- distributedTransaction
- 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
EnlistDistributedTransaction se a 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.
EnlistDistributedTransaction retornará uma exceção se o OracleConnection 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 OracleCommand 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.