Freigeben über


SqlConnection.EnlistDistributedTransaction-Methode

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

Namespace: System.Data.SqlClient
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Sub EnlistDistributedTransaction ( _
    transaction As ITransaction _
)
'Usage
Dim instance As SqlConnection
Dim transaction As ITransaction

instance.EnlistDistributedTransaction(transaction)
public void EnlistDistributedTransaction (
    ITransaction transaction
)
public:
void EnlistDistributedTransaction (
    ITransaction^ transaction
)
public void EnlistDistributedTransaction (
    ITransaction transaction
)
public function EnlistDistributedTransaction (
    transaction : ITransaction
)

Parameter

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

Hinweise

ADO.NET 2.0 unterstützt erstmals die Verwendung der EnlistTransaction-Methode, Eintragungen in einer verteilten Transaktion vorzunehmen. Aufgrund der Eintragung einer Verbindung in einer Transaction-Instanz nutzt EnlistTransaction die Vorteile der im System.Transactions-Namespace vorhandenen Funktionalität für die Verwaltung verteilter Transaktionen und wird damit zur bevorzugten Wahl von EnlistDistributedTransaction für diesen Zweck. Weitere Informationen finden Sie unter Durchführen einer verteilten Transaktion.

Sie können in einer vorhandenen verteilten Transaktion mit der EnlistDistributedTransaction -Methode eine Eintragung vornehmen, wenn die automatische Eintragung deaktiviert ist. Das Eintragen in einer vorhandenen verteilten Transaktion stellt sicher, dass bei einem Commit oder Rollback der Transaktion auch die Änderungen einbezogen werden, die vom Code an der Datenquelle vorgenommen wurden.

EnlistDistributedTransaction gibt eine Ausnahme zurück, wenn die SqlConnection bereits mithilfe von BeginTransaction eine Transaktion gestartet hat. Wenn es sich jedoch bei der Transaktion um eine lokale, an der Datenquelle gestartete Transaktion handelt (z. B. durch explizites Ausführen der BEGIN TRANSACTION-Anweisung mithilfe eines SqlCommand-Objekts), führt EnlistDistributedTransaction einen Rollback der lokalen Transaktion aus und nimmt entsprechend den Anforderungen eine Eintragung in der vorhandenen verteilten Transaktion vor. Sie erhalten keine Benachrichtigung über den Rollback der lokalen Transaktion, und Sie sind zuständig für die Verwaltung lokaler Transaktionen, die nicht mit BeginTransaction gestartet wurden.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1

Siehe auch

Referenz

SqlConnection-Klasse
SqlConnection-Member
System.Data.SqlClient-Namespace

Weitere Ressourcen

Durchführen einer Transaktion
Durchführen einer verteilten Transaktion
Verwenden von System.Transactions
Verbinden und Abrufen von Daten mit ADO.NET
Verwenden des .NET Framework-Datenanbieters für SQL Server