OleDbConnection.EnlistDistributedTransaction(ITransaction) Methode

Definition

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.

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)

Parameter

transaction
ITransaction

Ein Verweis auf eine vorhandene ITransaction, in der die Eintragung vorgenommen werden soll.

Hinweise

Neu in ADO.NET 2.0 ist unterstützung für die Verwendung der EnlistTransaction Methode zum Auflisten in einer verteilten Transaktion. Da sie eine Verbindung in einer Transaction Instanz auflisten, nutzt EnlistTransaction die Funktionalität, die im Namespace für das System.Transactions Verwalten verteilter Transaktionen verfügbar ist, EnlistDistributedTransaction für diesen Zweck vorzuziehen. Weitere Informationen finden Sie unter Verteilte Transaktionen.

Sie können weiterhin in einer vorhandenen verteilten Transaktion mit der Methode auflisten, wenn die EnlistDistributedTransaction automatische Liste deaktiviert ist. Das Auflisten in einer vorhandenen verteilten Transaktion stellt sicher, dass Änderungen, die vom Code an der Datenquelle vorgenommen werden, auch verpflichtet oder zurückgesetzt werden. Weitere Informationen zu verteilten Transaktionen finden Sie unter "Verteilte Transaktionen".

EnlistDistributedTransaction Gibt eine Ausnahme zurück, wenn die OleDbConnection Transaktion bereits mit BeginTransactioneiner Transaktion gestartet wurde. Wenn die Transaktion jedoch eine lokale Transaktion ist, die an der Datenquelle gestartet wurde (z. B. durch explizite Ausführung der BEGIN TRANSACTION-Anweisung mit einem OleDbCommand Objekt), EnlistDistributedTransaction rollt die lokale Transaktion zurück und enlists in der vorhandenen verteilten Transaktion wie angefordert. Sie erhalten keine Benachrichtigung, dass die lokale Transaktion zurückgesetzt wurde und für die Verwaltung lokaler Transaktionen verantwortlich ist, die nicht mit der Verwendung BeginTransactionbegonnen wurden.

Gilt für:

Siehe auch