JetRollback-Funktion
Gilt für: Windows | Windows Server
JetRollback-Funktion
Die JetRollback-Funktion rückgängig gemachte Änderungen am Zustand der Datenbank 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 gemacht wird, beendet die Sitzung die Transaktion.
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 für diesen Aufruf zu verwendenden Optionen enthalten, die null oder mehr der folgenden Elemente enthalten:
Wert |
Bedeutung |
|---|---|
JET_bitRollbackAll |
Diese Option fordert an, dass alle Änderungen, die während aller Speicherpunkte am Zustand der Datenbank vorgenommen wurden, rückgängig gemacht werden. Dies führt dazu, dass die Sitzung die Transaktion beendet. |
Rückgabewert
Diese Funktion gibt den JET_ERR datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.
Rückgabecode |
Beschreibung |
|---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abschließen, da alle Aktivitäten auf der -Instanz, die der Sitzung zugeordnet ist, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Der Vorgang kann nicht abgeschlossen werden, da für die der Sitzung zugeordnete Instanz 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 xp Windows und späteren Versionen zurückgegeben. |
JET_errNotInitialized |
Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz noch nicht initialisiert wurde. |
JET_errNotInTransaction |
Der Vorgang ist fehlgeschlagen, da sich die gegebene Sitzung nicht in einer Transaktion befindet. |
JET_errRestoreInProgress |
Der Vorgang kann nicht abgeschlossen werden, da ein Wiederherstellungsvorgang für die -Instanz durchgeführt wird, die der Sitzung zugeordnet ist. |
JET_errRollbackError |
Aufgrund eines schwerwiegenden Fehlers konnte kein Rollback für die Änderungen vorgenommen werden. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht gleichzeitig für mehrere Threads verwendet werden. Dieser Fehler wird nur von xp Windows und späteren Versionen zurückgegeben. |
JET_errTermInProgress |
Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz heruntergefahren wird. |
Bei Erfolg werden alle Änderungen, die während des aktuellen Speicherpunkts für die bestimmte 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, beendet die Sitzung die Transaktion.
Bei einem Fehler bleibt der Transaktionszustand der Sitzung unverändert. Es erfolgt keine Änderung des Datenbankstatus. Ein Fehler während des Rollbacks wird als schwerwiegender Datenbankfehler betrachtet.
Hinweise
Es muss einen Aufruf von JetCommitTransaction oder JetRollback geben, damit jeder Aufruf von JetBeginTransaction für eine bestimmte Sitzung übereinstimmen kann.
Wenn cursors während eines Speicherpunkts geöffnet wurden (z. B. mit JetOpenTable),der zurückgesetzt wird, wird dieser Cursor geschlossen.
Anforderungen
| | |
Client
|Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.
| |Server
|Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.
| |Header
|Wird in Esent.h deklariert.
| |Bibliothek
|Verwenden Sie ESENT.lib.
| |DLL
|Erfordert ESENT.dll.
|Weitere Informationen
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction