OracleConnection.EnlistDistributedTransaction(ITransaction) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.