Condividi tramite


OracleConnection.EnlistDistributedTransaction(ITransaction) Metodo

Definizione

Permette l'integrazione nella transazione specificata come transazione distribuita.

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)

Parametri

distributedTransaction
ITransaction

Riferimento a un oggetto ITransaction esistente in cui eseguire l'integrazione.

Commenti

Novità di ADO.NET 2.0 è il supporto per l'uso del EnlistTransaction metodo da inserire in una transazione distribuita. Poiché inserisce una connessione in un'istanza TransactionSystem.Transactions, EnlistTransaction sfrutta le funzionalità disponibili nello spazio dei nomi per la gestione delle transazioni distribuite, rendendo preferibile a EnlistDistributedTransaction per questo scopo. Per altre informazioni, vedere Transazioni distribuite.

È possibile continuare a eseguire l'inserimento in una transazione distribuita esistente usando

EnlistDistributedTransaction metodo se l'inserimento automatico è disabilitato. L'inserimento in una transazione distribuita esistente garantisce che, se la transazione viene eseguita il commit o il rollback, le modifiche apportate dal codice all'origine dati vengono eseguite anche con commit o rollback.

EnlistDistributedTransaction restituisce un'eccezione se l'oggetto OracleConnection ha già avviato una transazione usando BeginTransaction. Tuttavia, se la transazione è una transazione locale avviata all'origine dati (ad esempio eseguendo in modo esplicito l'istruzione BEGIN TRANSACTION usando un OracleCommand oggetto), EnlistDistributedTransaction esegue il rollback della transazione locale ed esegue l'inserimento nella transazione distribuita esistente come richiesto. Non si riceverà un avviso che la transazione locale è stata eseguito il rollback e che è responsabile della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.

Si applica a