JetBeginTransaction3-Funktion

Gilt für: Windows | Windows Server

Die Funktion JetBeginTransaction3 bewirkt, dass eine Sitzung eine Transaktion eingibt und einen neuen Speicherpunkt erstellt. Diese Funktion kann in einer einzelnen Sitzung mehrmals aufgerufen werden, um zusätzliche Speicherpunkte zu erstellen. Diese Speicherpunkte können selektiv verwendet werden, um Änderungen an der Datenbank beizubehalten oder zu verwerfen.

Die Funktion JetBeginTransaction3 wurde im Windows 8-Betriebssystem eingeführt.

JET_ERR JET_API JetBeginTransaction3(
  __in          JET_SESID sesid,
  __in          int64 trxid,
  __in          JET_GRBIT grbit
);

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

trxid

Ein optionaler Bezeichner, der vom Benutzer bereitgestellt wird, um die Transaktion zu identifizieren.

grbit

Eine Gruppe von Bits, die null oder mehr der in der folgenden Tabelle aufgeführten Werte für die Anrufoption angibt.

Wert

Bedeutung

JET_bitTransactionReadOnly

Die Transaktion ändert die Datenbank nicht. Wenn ein Update versucht wird, schlägt dieser Vorgang mit einem JET_errTransReadOnly-Antwortcode fehl. Diese Option wird ignoriert, es sei denn, sie wird angefordert, wenn die angegebene Sitzung nicht bereits in einer Transaktion vorhanden ist. Diese Option ist ab Windows XP in Versionen des Windows-Betriebssystems verfügbar.

Rückgabewert

Diese Funktion gibt den Datentyp JET_ERR mit einem der Rückgabecodes zurück, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen zu möglichen ESE-Fehlern (Extensible Storage Engine) finden Sie unter Fehler beim Extensible Storage Engine und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich beendet.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten für die Instanz, die der Sitzung zugeordnet ist, aufgrund eines Aufrufs der Funktion JetStopService beendet wurden.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da die mit der Sitzung verknüpfte Instanz einen schwerwiegenden Fehler festgestellt hat, der erfordert, dass der Zugriff auf alle Daten widerrufen werden muss, um die Integrität dieser Daten zu schützen.

Dieser Rückgabecode wird von Windows-Versionen ab Windows XP zurückgegeben.

JET_errNotInitialized

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz noch nicht initialisiert wurde.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da ein Wiederherstellungsvorgang für die Instanz ausgeführt wird, die der Sitzung zugeordnet ist.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht gleichzeitig für mehrere Threads verwendet werden. Dieser Fehler tritt bei Windows-Versionen ab Windows XP auf.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz heruntergefahren wird.

JET_errTransTooDeep

Eine neue Transaktion kann nicht gestartet werden, da die Sitzung bereits die von der Datenbank-Engine erlaubte maximale Speicherpunkttiefe erreicht hat.

Bei Erfolg wird die angegebene Sitzung in eine Transaktion aufgenommen. Befand sich die Sitzung zuvor innerhalb einer Transaktion, wird ein neuer Speicherpunkt erstellt.

Bei einem Fehler bleibt der Transaktionsstatus der Sitzung unverändert. Der Zustand der Datenbank wird nicht verändert.

Hinweise

Weitere Informationen zur Funktionsweise von Transaktionen finden Sie unter JetBeginTransaction.

Anforderungen

Anforderung Wert

Client

Erfordert Windows 8.

Server

Erfordert Windows Server 2012.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Siehe auch

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetGetSystemParameter
JetResetSessionContext
JetRollback
JetSetSessionContext
Systemparameter