Fonction JetBeginSession
S’applique à : Windows | Windows Serveurs
Fonction JetBeginSession
La fonction JetBeginSession démarre une session et initialise et retourne un handle de session ESE (JET_SESID). Les sessions contrôlent tous les accès à la base de données et sont utilisées pour contrôler l’étendue des transactions. La session peut être utilisée pour commencer, valider ou abandonner des transactions. La session est également utilisée pour attacher, créer ou ouvrir une base de données. La session est utilisée comme contexte pour toutes les opérations DDL et DML. Pour augmenter l’accès concurrentiel et l’accès parallèle à la base de données, plusieurs sessions peuvent être démarrées.
JET_ERR JET_API JetBeginSession(
__in JET_INSTANCE instance,
__out JET_SESID* psesid,
__in_opt JET_PCSTR szUserName,
__in_opt JET_PCSTR szPassword
);
Paramètres
instancié
Instance de base de données à utiliser pour cet appel.
psesid
Pointeur vers la variable que le handle de session Initialise lors d’un retour réussi.
szUserName
Ce paramètre est réservé.
szPassword
Ce paramètre est réservé.
Valeur renvoyée
Cette fonction permet le retour de tout JET_ERRs qui sont définis dans cette API. pour plus d’informations sur les erreurs Jet, 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 de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue suite à un appel à JetStopService. |
JET_errInstanceUnavailable |
Il n’est pas possible de terminer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui requiert que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures. |
JET_errInvalidParameter |
L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’a pas de sens lorsqu’elle était associée à la valeur d’un autre paramètre. |
JET_errNotInitialized |
Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée. |
JET_errOutOfMemory |
L’opération a échoué car la mémoire n’a pas pu être allouée. |
JET_errOutOfSessions |
Le nombre de sessions que le moteur autorise le client à démarrer est limité. Cette valeur peut être modifiée à l’aide de JetSetSystemParameter avec la constante JET_paramMaxSessions. Le nombre de sessions par défaut est 16. Pour plus d’informations sur la JET_paramMaxSessions, consultez paramètres système . |
JET_errRestoreInProgress |
Il n’est pas possible de terminer l’opération, car une opération de restauration est en cours sur l’instance associée à la session. |
JET_errTermInProgress |
Il n’est pas possible de terminer l’opération, car l’instance associée à la session est en cours d’arrêt. |
En cas de réussite, le descripteur de session est initialisé et peut être utilisé pour les opérations de base de données.
En cas d’échec, aucune session n’est disponible ou une nouvelle session n’a pas pu être initialisée.
Notes
Une attention particulière doit être utilisée lors de l’utilisation de sessions sur différents threads. Une session suit le thread sur lequel elle a été utilisée pendant JetBeginTransaction, JetCommitTransactionou JetRollback, et génère une erreur si elle est utilisée sur plusieurs threads avec une transaction ouverte. Le JetResetSessionContext, JetSetSessionContext peut modifier ce comportement. Étant donné que la session est toujours un contexte sérialisé, plusieurs opérations de base de données ne peuvent pas être exécutées simultanément sur une seule session, en série uniquement. Toutefois, vous pouvez utiliser plusieurs sessions pour obtenir un accès simultané à la base de données. Les sessions peuvent être utilisées à l’intérieur d’une transaction entre les threads en définissant et en réinitialisant les contextes de session.
Le descripteur de session doit être fermé avec JetEndSession.
Spécifications
| Condition requise | Valeur |
|---|---|
Client |
requiert Windows Vista, Windows XP ou Windows 2000 Professional. |
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 |
Requiert ESENT.dll. |
Unicode |
Implémenté en tant que JetBeginSessionW (Unicode) et JetBeginSessionA (ANSI). |
Voir aussi
JET_ERR
JET_INSTANCE
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetDupSession
JetEndSession
JetResetSessionContext
JetRollback
JetSetSessionContext
JetStopService
Paramètres système