JetRollback-Funktion
Gilt für: Windows | Windows Server
JetRollback-Funktion
Die JetRollback-Funktion hebt die am Zustand der Datenbank vorgenommenen Änderungen zurück und kehrt zum letzten Speicherpunkt zurück. JetRollback schließt auch alle Cursor, die während des Speicherpunkts geöffnet wurden. Wenn der äußerste Speicherpunkt rückgängig wird, wird die Transaktion von der Sitzung beendet.
JET_ERR JET_API JetRollback(
__in JET_SESID sesid,
__in JET_GRBIT grbit
);
Parameter
sesid
Die Sitzung, die für diesen Aufruf verwendet werden soll.
grbit
Eine Gruppe von Bits, die die Optionen enthalten, die für diesen Aufruf verwendet werden sollen, einschließlich null oder mehr der folgenden Optionen:
Wert |
Bedeutung |
---|---|
JET_bitRollbackAll |
Diese Option fordert, dass alle Änderungen, die während aller Speicherpunkte am Zustand der Datenbank vorgenommen wurden, rückgängig gemacht werden. Infolgedessen beendet die Sitzung die Transaktion. |
Rückgabewert
Diese Funktion gibt den JET_ERR-Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben. |
JET_errNotInitialized |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde. |
JET_errNotInTransaction |
Der Vorgang ist fehlgeschlagen, da die angegebene Sitzung nicht in einer Transaktion vorhanden ist. |
JET_errRestoreInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird. |
JET_errRollbackError |
Aufgrund eines schwerwiegenden Fehlers konnten die Änderungen nicht zurückgerollt werden. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben. |
JET_errTermInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird. |
Bei Erfolg werden alle Änderungen, die während des aktuellen Speicherpunkts für die angegebene Sitzung an der Datenbank vorgenommen wurden, rückgängig gemacht, und dieser Speicherpunkt wird beendet. Wenn der letzte Speicherpunkt für die Sitzung beendet wurde, wird die Transaktion beendet.
Bei einem Fehler bleibt der Transaktionsstatus der Sitzung unverändert. Es wird keine Änderung des Datenbankstatus vorgenommen. Ein Fehler beim Rollback wird als schwerwiegender Datenbankfehler betrachtet.
Bemerkungen
Es muss ein Aufruf von JetCommitTransaction oder JetRollback vorhanden sein, um jeden Aufruf von JetBeginTransaction für eine bestimmte Sitzung abzugleichen.
Wenn cursors geöffnet wurden (z. B. mithilfe von JetOpenTable), während eines Speicherpunkts, der zurückgesetzt wird, wird dieser Cursor geschlossen.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Weitere Informationen
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction