OracleConnection.EnlistDistributedTransaction(ITransaction) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.
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)
Parameter
- distributedTransaction
- ITransaction
Ein Verweis auf eine vorhandene ITransaction, in der die Eintragung vorgenommen werden soll.
Hinweise
Neu in ADO.NET 2.0 ist die Unterstützung für die Verwendung der EnlistTransaction -Methode zum Anmelden in eine verteilte Transaktion. Da es eine Verbindung in einem Transaction instance einnimmt, nutzt EnlistTransaction die im Namespace verfügbaren Funktionen für die System.Transactions Verwaltung verteilter Transaktionen und macht es zu diesem Zweck EnlistDistributedTransaction vorzuziehen. Weitere Informationen finden Sie unter Verteilte Transaktionen.
Sie können sich weiterhin in eine vorhandene verteilte Transaktion eintragen, indem Sie die
EnlistDistributedTransaction -Methode, wenn die automatische Registrierung deaktiviert ist. Durch das Eintragen in eine vorhandene verteilte Transaktion wird sichergestellt, dass änderungen, die vom Code an der Datenquelle vorgenommen werden, auch committet oder zurückgesetzt werden, wenn die Transaktion committet oder ein Rollback ausgeführt wird.
EnlistDistributedTransaction gibt eine Ausnahme zurück, wenn bereits OracleConnection eine Transaktion mit BeginTransactiongestartet wurde. Wenn es sich bei der Transaktion jedoch um eine lokale Transaktion handelt, die an der Datenquelle gestartet wurde (z. B. durch explizites Ausführen der BEGIN TRANSACTION-Anweisung mithilfe eines OracleCommand Objekts), EnlistDistributedTransaction führt ein Rollback für die lokale Transaktion aus, und führt die vorhandene verteilte Transaktion wie angefordert ein. Sie erhalten keine Benachrichtigung, dass für die lokale Transaktion ein Rollback ausgeführt wurde, und sind für die Verwaltung aller lokalen Transaktionen verantwortlich, die nicht mit BeginTransactiongestartet wurden.