OdbcConnection.EnlistDistributedTransaction(ITransaction) Metoda

Definicja

Enlists w określonej transakcji jako transakcji rozproszonej.

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)

Parametry

transaction
ITransaction

Odwołanie do istniejącego ITransaction , w którym należy się zarejestrować.

Uwagi

Nowość w ADO.NET 2.0 obsługuje użycie EnlistTransaction metody do rejestracji w transakcji rozproszonej. Ponieważ pobiera połączenie w Transaction wystąpieniu, enlistTransaction korzysta z funkcji dostępnych w System.Transactions przestrzeni nazw do zarządzania transakcjami rozproszonymi, co sprawia, że zaleca się, aby w tym celu enlistDistributedTransaction . Aby uzyskać więcej informacji, zobacz Transakcje rozproszone.

Możesz kontynuować rejestrację w istniejącej transakcji rozproszonej EnlistDistributedTransaction przy użyciu metody , 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. Aby uzyskać więcej informacji na temat transakcji rozproszonych, zobacz Transakcje rozproszone.

EnlistDistributedTransaction Zwraca wyjątek, jeśli OdbcConnection transakcja została już uruchomiona przy użyciu polecenia BeginTransaction. Jeśli jednak transakcja jest transakcją lokalną uruchomioną w źródle danych (na przykład przez jawne wykonanie instrukcji BEGIN TRANSACTION przy użyciu OdbcCommand obiektu), EnlistDistributedTransaction cofa transakcję lokalną i zapisuje 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 rozpoczęte przy użyciu programu BeginTransaction.

Dotyczy