Fonction JetRollback
S’applique à : Windows | Windows Server
Fonction JetRollback
La fonction JetRollback annule les modifications apportées à l’état de la base de données et retourne au dernier point d’enregistrement. JetRollback ferme également tous les curseurs ouverts pendant le point d’enregistrement. Si le point d’enregistrement le plus externe est annulé, la session quitte la transaction.
JET_ERR JET_API JetRollback(
__in JET_SESID sesid,
__in JET_GRBIT grbit
);
Paramètres
sesid
Session à utiliser pour cet appel.
grbit
Groupe de bits qui contient les options à utiliser pour cet appel, qui incluent zéro ou plusieurs des éléments suivants :
Valeur |
Signification |
---|---|
JET_bitRollbackAll |
Cette option demande que toutes les modifications apportées à l’état de la base de données pendant tous les points d’enregistrement soient annulées. Par conséquent, la session quittera la transaction. |
Valeur renvoyée
Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. Pour plus d’informations sur les erreurs ESE possibles, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.
Code de retour |
Description |
---|---|
JET_errSuccess |
L’opération s’est terminée avec succès. |
JET_errClientRequestToStopJetService |
Il n’est pas possible d’effectuer l’opération, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService. |
JET_errInstanceUnavailable |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui nécessite que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures. |
JET_errNotInitialized |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé. |
JET_errNotInTransaction |
L’opération a échoué, car la session donnée n’est pas dans une transaction. |
JET_errRestoreInProgress |
Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session. |
JET_errRollbackError |
Il n’a pas été possible de restaurer les modifications en raison d’une erreur irrécupérable. |
JET_errSessionSharingViolation |
La même session ne peut pas être utilisée pour plusieurs threads en même temps. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures. |
JET_errTermInProgress |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt. |
En cas de réussite, toutes les modifications apportées à la base de données pendant le point d’enregistrement actuel pour la session donnée seront annulées et ce point d’enregistrement sera terminé. Si le dernier point d’enregistrement de la session a été terminé, la session quittera la transaction.
En cas d’échec, l’état transactionnel de la session reste inchangé. Aucune modification de l’état de la base de données ne se produira. Une défaillance pendant la restauration est considérée comme une erreur de base de données catastrophique.
Notes
Il doit y avoir un appel à JetCommitTransaction ou JetRollback pour correspondre à chaque appel à JetBeginTransaction pour une session donnée.
Si des curseurs ont été ouverts (à l’aide de JetOpenTable, par exemple) pendant un point d’enregistrement en cours de restauration, ce curseur est fermé.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel. |
Serveur |
Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server. |
En-tête |
Déclaré dans Esent.h. |
Bibliothèque |
Utilisez ESENT.lib. |
DLL |
Nécessite ESENT.dll. |
Voir aussi
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction