OleDbConnection.EnlistDistributedTransaction(ITransaction) Metodo

Definizione

Permette l'integrazione nella transazione specificata come transazione distribuita.

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)

Parametri

transaction
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 per l'integrazione in una transazione distribuita. Poiché integra una connessione in un'istanza Transaction di , EnlistTransaction sfrutta le funzionalità disponibili nello System.Transactions spazio dei nomi per la gestione delle transazioni distribuite, rendendola preferibile a EnlistDistributedTransaction a questo scopo. Per altre informazioni, vedere Transazioni distribuite.

È possibile continuare a integrare in una transazione distribuita esistente usando il EnlistDistributedTransaction metodo se l'integrazione automatica è disabilitata. L'integrazione in una transazione distribuita esistente assicura che, se viene eseguito il commit o il rollback della transazione, viene eseguito anche il commit o il rollback delle modifiche apportate dal codice nell'origine dati. Per altre informazioni sulle transazioni distribuite, vedere Transazioni distribuite.

EnlistDistributedTransaction restituisce un'eccezione se l'oggetto OleDbConnection ha già avviato una transazione utilizzando BeginTransaction. Tuttavia, se la transazione è una transazione locale avviata nell'origine dati , ad esempio eseguendo in modo esplicito l'istruzione BEGIN TRANSACTION usando un OleDbCommand oggetto , EnlistDistributedTransaction esegue il rollback della transazione locale ed esegue l'integrazione nella transazione distribuita esistente come richiesto. Non si riceverà alcuna notifica che è stato eseguito il rollback della transazione locale e che è responsabile della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.

Si applica a

Vedi anche