OdbcConnection.EnlistDistributedTransaction(ITransaction) Metodo

Definizione

Integra la 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 esistente ITransaction in cui eseguire l'integrazione.

Commenti

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

È possibile continuare a eseguire l'integrazione in una transazione distribuita esistente usando il metodo se l'integrazione EnlistDistributedTransaction 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 OdbcConnection 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 OdbcCommand oggetto , EnlistDistributedTransaction esegue il rollback della transazione locale ed esegue l'integrazione nella transazione distribuita esistente come richiesto. Non si noterà che è stato eseguito il rollback della transazione locale e che sono responsabili della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.

Si applica a