OracleConnection.EnlistDistributedTransaction(ITransaction) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Enlists w określonej transakcji jako transakcji rozproszonej.
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)
Parametry
- distributedTransaction
- ITransaction
Odwołanie do istniejącego ITransaction , w którym należy zarejestrować.
Uwagi
Nowa wersja w ADO.NET 2.0 obsługuje użycie EnlistTransaction metody do rejestracji w transakcji rozproszonej. Ponieważ jest on enlista połączenia w Transaction wystąpieniu, EnlistTransaction korzysta z funkcji dostępnych w System.Transactions przestrzeni nazw do zarządzania transakcjami rozproszonymi, co zaleca enlistDistributedTransaction w tym celu. Aby uzyskać więcej informacji, zobacz Transakcje rozproszone.
Możesz kontynuować rejestrowanie w istniejącej transakcji rozproszonej przy użyciu
EnlistDistributedTransaction metoda, jeśli automatyczna rejestracja jest wyłączona. Rejestrowanie w istniejącej transakcji rozproszonej gwarantuje, że jeśli transakcja zostanie zatwierdzona lub wycofana, modyfikacje wprowadzone przez kod w źródle danych również zostaną zatwierdzone lub wycofane.
EnlistDistributedTransaction zwraca wyjątek, jeśli OracleConnection transakcja została już uruchomiona przy użyciu polecenia BeginTransaction. Jeśli jednak transakcja jest transakcją lokalną rozpoczętą w źródle danych (na przykład przez jawne wykonanie instrukcji BEGIN TRANSACTION przy użyciu OracleCommand obiektu), EnlistDistributedTransaction wycofa transakcję lokalną i zarejestrowa się w istniejącej transakcji rozproszonej zgodnie z żądaniem. Nie otrzymasz powiadomienia, że transakcja lokalna została wycofana i odpowiada za zarządzanie wszelkimi transakcjami lokalnymi, które nie zostały uruchomione przy użyciu polecenia BeginTransaction.