Fonction JetCreateDatabase
S’applique à : Windows | Windows Server
Fonction JetCreateDatabase
La fonction JetCreateDatabase crée et joint un fichier de base de données à utiliser avec le moteur de base de données ESE. L’appel de JetCreateDatabase2 avec cpgDatabaseSizeMax défini sur zéro est identique à l’appel de JetCreateDatabase avec szConnect défini sur NULL. Actuellement, jusqu’à sept bases de données peuvent être créées par instance.
JET_ERR JET_API JetCreateDatabase(
__in JET_SESID sesid,
__in JET_PCSTR szFilename,
__in_opt JET_PCSTR szConnect,
__out JET_DBID* pdbid,
__in JET_GRBIT grbit
);
Paramètres
sesid
Contexte de session de base de données à utiliser pour l’appel d’API.
szFilename
Nom de la base de données à modifier.
szConnect
Réservé pour un usage futur. valeur de l’en-tête définie sur Null.
pdbid
Pointeur vers une mémoire tampon qui, lors d’un appel réussi, contient l’identificateur de la base de données. En cas d’échec, la valeur n’est pas définie.
grbit
Groupe de bits spécifiant zéro ou plusieurs des options suivantes.
Valeur |
Signification |
---|---|
JET_bitDbOverwriteExisting |
Par défaut, si JetCreateDatabase est appelé et que la base de données existe déjà, l’appel d’API échoue et la base de données d’origine n’est pas remplacée. JET_bitDbOverwriteExisting modifie ce comportement, et l’ancienne base de données sera remplacée par une nouvelle. Windows XP et versions ultérieures. |
JET_bitDbRecoveryOff |
JET_bitDbRecoveryOff désactive la journalisation. La définition de ce bit perd la possibilité de relire les fichiers journaux et de récupérer la base de données à un état utilisable cohérent après un événement catastrophique. |
JET_bitDbShadowingOff |
La définition JET_bitDbShadowingOff désactive la duplication de certaines structures de base de données internes (ombrage). La duplication de ces structures étant effectuée pour la résilience, la définition de JET_bitDbShadowingOff supprimera cette résilience. |
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_errDatabaseDuplicate |
La base de données nommée dans szFilename existe déjà. Lorsque cette erreur est retournée, la base de données n’est pas attachée. |
JET_errDatabaseInUse |
Peut être retourné si l’accès exclusif a été demandé, mais n’a pas pu être accordé, ou si une autre session a déjà ouvert la base de données exclusivement. |
JET_errDatabaseInvalidPages |
Retourné lorsque cpgDatabaseSizeMax est supérieur au nombre maximal de pages autorisées dans une base de données. Le maximum actuel est 2147483646 (0x7ffffffe). |
JET_errDatabaseInvalidPath |
Un chemin d’accès non valide a été donné dans szFilename. szFilename doit avoir une valeur non NULL. Par défaut, szFilename doit pointer vers un répertoire qui existe. Le chemin d’accès sera créé si JET_paramCreatePathIfNotExist est défini (voir JetSetSystemParameter). |
JET_errDatabaseLocked |
Indique qu’une autre session a déjà ouvert la base de données exclusivement (à l’aide de JET_bitDbExclusive). |
JET_errDatabaseNotFound |
La base de données n’était pas attachée auparavant (voir JetAttachDatabase). |
JET_errDatabaseSharingViolation |
Le fichier de base de données a déjà été attaché par une autre session. |
JET_errInTransaction |
Une tentative de création d’une base de données dans une transaction a été effectuée. |
JET_errInvalidDatabase |
Une tentative d’ouverture d’un fichier qui n’est pas un fichier de base de données valide a été effectuée. |
JET_errOneDatabasePerSession |
Une tentative d’ouverture de plusieurs bases de données a été effectuée et JET_paramOneDatabasePerSession a été défini. Consultez Paramètres de base de données. |
JET_errOutOfMemory |
L’opération a échoué, car la mémoire n’a pas pu être allouée. |
JET_errTooManyAttachedDatabases |
Seul un nombre fini de base de données peut être attaché par instance. La limite est actuellement de sept bases de données par instance. |
JET_wrnDatabaseAttached |
Avertissement non fatal indiquant que le fichier de base de données a déjà été joint par cette session. |
JET_wrnFileOpenReadOnly |
JET_wrnFileOpenReadOnly indique que le fichier a été joint en lecture seule, mais que JetCreateDatabase n’a pas réussi JET_bitDbReadOnly. La base de données est toujours ouverte avec un accès en lecture seule. |
Notes
Si la base de données spécifiée dans szFilename existe et que JET_bitDbOverwriteExisting n’a pas été transmise, l’appel d’API échoue. Si JET_bitDbOverwriteExisting a été transmis, l’ancien fichier de base de données est d’abord supprimé.
Si l’API crée un fichier de base de données, puis rencontre une autre erreur, elle propre et supprime le fichier.
JetCreateDatabase ouvre implicitement la base de données. Il ne s’agit pas nécessairement d’appeler par la suite JetOpenDatabase.
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. |
Unicode |
Implémenté en tant que JetCreateDatabaseW (Unicode) et JetCreateDatabaseA (ANSI). |
Voir aussi
Fichiers du moteur de stockage extensibles
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Paramètres système