Condividi tramite


Funzione JetRollback

Si applica a: Windows | Windows Server

Funzione JetRollback

La funzione JetRollback annulla le modifiche apportate allo stato del database e restituisce all'ultimo punto di salvataggio. JetRollback chiuderà anche tutti i cursori aperti durante il punto di salvataggio. Se il punto di salvataggio più esterno viene annullato, la sessione chiuderà la transazione.

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

Parametri

sesid

Sessione da usare per questa chiamata.

grbit

Un gruppo di bit che contengono le opzioni da usare per questa chiamata, che includono zero o più dei seguenti elementi:

Valore

Significato

JET_bitRollbackAll

Questa opzione richiede che tutte le modifiche apportate allo stato del database durante tutti i punti di salvataggio vengano annullate. Di conseguenza, la sessione uscirà dalla transazione.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sugli errori ESE possibili, vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errClientRequestToStopJetService

Non è possibile completare l'operazione perché tutte le attività nell'istanza associata alla sessione non sono state interrotte in seguito a una chiamata a JetStopService.

JET_errInstanceUnavailable

Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede che l'accesso a tutti i dati venga revocato per proteggere l'integrità dei dati. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errNotInitialized

Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata.

JET_errNotInTransaction

L'operazione non è riuscita perché la sessione specificata non è in una transazione.

JET_errRestoreInProgress

Non è possibile completare l'operazione perché un'operazione di ripristino è in corso nell'istanza associata alla sessione.

JET_errRollbackError

Non è stato possibile eseguire il rollback delle modifiche a causa di un errore irreversibile.

JET_errSessionSharingViolation

La stessa sessione non può essere usata contemporaneamente per più thread. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errTermInProgress

Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata.

In caso di esito positivo, le modifiche apportate al database durante il punto di salvataggio corrente per la sessione specificata verranno annullate e tale punto di salvataggio verrà terminato. Se l'ultimo punto di salvataggio per la sessione è stato terminato, la sessione chiuderà la transazione.

In caso di errore, lo stato transazionale della sessione rimarrà invariato. Non verrà eseguita alcuna modifica allo stato del database. Un errore durante il rollback è considerato un errore irreversibile del database.

Commenti

Deve essere presente una chiamata a JetCommitTransaction o JetRollback per corrispondere a ogni chiamata a JetBeginTransaction per una determinata sessione.

Se eventuali cursori sono stati aperti (usando JetOpenTable, ad esempio) durante un punto di salvataggio che viene eseguito il rollback, tale cursore verrà chiuso.

Requisiti

Requisito Valore

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Vedere anche

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction