Ausführen von Transaktionen in ADOMD.NET
In ADOMD.NET verwenden Sie das AdomdTransaction-Objekt, um den Transaktionskontext für ein gegebenes AdomdConnection-Objekt zu verwalten. Diese Funktionalität ermöglicht es Ihnen, mehrere Befehle vom gleichen Kontext auszuführen. Jeder Befehl liest die gleichen Daten, ohne dass sich die gelesenen Daten zwischen jeder Befehlsausführung ändern.
Hinweis |
---|
Die AdomdTransaction-Klasse ist die Implementierung der System.Data.IDbTransaction-Schnittstelle, Teil der Microsoft .NET Framework-Klassenbibliothek und wird von allen .NET Framework-Datenanbietern unterstützt, die Transaktionen unterstützen. |
Um Dirty Reads zu vermeiden, unterstützt das AdomdTransaction-Objekt nur Read Committed-Transaktionen, in denen während des Lesens der Daten freigegebene Sperren aufrecht erhalten werden.
AdomdConnection wird verwendet, um die Transaktion zu starten. Um die Transaktion zu verwenden, werden Befehle dann gegen die Verbindung ausgeführt, die die Transaktion gestartet hat. Wenn Sie mit der Transaktion fertig sind, können Sie entweder ein Rollback oder ein Commit für die Transaktion ausführen.
Starten einer Transaktion
Sie erstellen eine Instanz des AdomdTransaction-Objekts, indem Sie die BeginTransaction-Methode des AdomdConnection-Objekts aufrufen. Im folgenden Beispiel wird veranschaulicht, wie eine Instanz des AdomdTransaction-Objekts erstellt wird:
Dim objTransaction As AdomdTransaction = objConnection.BeginTransaction()
AdomdTransaction objTransaction = objConnection.BeginTransaction();
Ausführen von Rollbacks für eine Transaktion
Um ein Rollback für eine bestehende, unvollständige Transaktion auszuführen, rufen Sie die Rollback-Methode des AdomdTransaction-Objekts auf. Wenn Sie diese Methode für eine bestehende, vollständige Transaktion aufrufen, wird eine Ausnahme ausgelöst.
Commitausführung für eine Transaktion
Nachdem Sie die BeginTransaction-Methode aufgerufen haben, um eine Transaktion zu starten, können Sie die Transaktion abschließen, indem Sie die Commit-Methode des AdomdTransaction-Objekts aufrufen. Wird diese Methode für eine bestehende, vollständige Transaktion aufgerufen, wird eine Ausnahme ausgelöst.