Fonction JetBeginTransaction3
S’applique à : Windows | Windows Server
La fonction JetBeginTransaction3 permet à une session d’entrer dans une transaction et de créer un point d’enregistrement. Cette fonction peut être appelée plusieurs fois dans une seule session pour créer des points d’enregistrement supplémentaires. Ces points d’enregistrement peuvent être utilisés de manière sélective pour conserver ou ignorer les modifications apportées à la base de données.
La fonction JetBeginTransaction3 a été introduite dans le système d’exploitation Windows 8.
JET_ERR JET_API JetBeginTransaction3(
__in JET_SESID sesid,
__in int64 trxid,
__in JET_GRBIT grbit
);
Paramètres
sesid
La session à utiliser pour cet appel.
trxid
Un identificateur facultatif fourni par l’utilisateur pour identifier la transaction.
grbit
Groupe de bits qui spécifie zéro ou plusieurs valeurs d’option d’appel répertoriées dans le tableau suivant.
Value |
Signification |
---|---|
JET_bitTransactionReadOnly |
La transaction ne modifie pas la base de données. Si une mise à jour est tentée, cette opération échoue avec le code de réponse JET_errTransReadOnly. Cette option est ignorée, sauf si elle est demandée lorsque la session donnée n’est pas déjà dans une transaction. Cette option est disponible dans les versions du système d’exploitation Windows à partir de Windows XP. |
Valeur retournée
Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour répertoriés dans le tableau suivant. Pour plus d’informations sur les erreurs possibles du moteur de stockage extensible (ESE), consultez Les erreurs du moteur de stockage extensible et les 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 associées à la session ont cessé suite à un appel à la fonction JetStopService . |
JET_errInstanceUnavailable |
Il n’est pas possible d’effectuer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui exige que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Ce code de retour est retourné par les versions de Windows commençant par Windows XP. |
JET_errNotInitialized |
Il n’est pas possible d’effectuer l’opération, car l’instance associée à la session n’a pas encore été initialisée. |
JET_errRestoreInProgress |
Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur l’instance associée à la session. |
JET_errSessionSharingViolation |
La même session ne peut pas être utilisée pour plusieurs threads en même temps. Cette erreur est retournée par les versions de Windows commençant par Windows XP. |
JET_errTermInProgress |
Il n’est pas possible d’effectuer l’opération, car l’instance associée à la session est en cours d’arrêt. |
JET_errTransTooDeep |
Une nouvelle transaction ne peut pas être démarrée, car la session est déjà à la profondeur maximale autorisée par le moteur de base de données. |
En cas de réussite, la session fournie se trouve à l’intérieur d’une transaction. Si la session était auparavant à l’intérieur d’une transaction, un nouveau point d’enregistrement sera créé.
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 produit.
Notes
Pour plus d’informations sur le fonctionnement des transactions, consultez JetBeginTransaction.
Spécifications
Condition requise | Value |
---|---|
Client |
Nécessite Windows 8. |
Serveur |
Nécessite Windows Server 2012. |
En-tête |
Déclaré dans Esent.h. |
Bibliothèque |
Utilise ESENT.lib. |
DLL |
Nécessite ESENT.dll. |
Voir aussi
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetGetSystemParameter
JetResetSessionContext
JetRollback
JetSetSessionContext
Paramètres du système