Fonction JetCreateDatabase

S’applique à : Windows | Windows Serveurs

Fonction JetCreateDatabase

La fonction JetCreateDatabase crée et attache 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 à 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 la session de base de données à utiliser pour l’appel d’API.

szFilename

Nom de la base de données à créer.

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, sur 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 de JET_bitDbShadowingOff désactive la duplication de certaines structures de base de données internes (occultation). La duplication de ces structures étant effectuée à des fins de résilience, la définition de JET_bitDbShadowingOff supprime 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 en mode exclusif.

JET_errDatabaseInvalidPages

Retourné lorsque cpgDatabaseSizeMax est plus grand que le nombre maximal de pages autorisées dans une base de données. La valeur maximale actuelle est 2147483646 (0x7ffffffe).

JET_errDatabaseInvalidPath

Un chemin d’accès non valide a été spécifié dans szFilename. szFilename doit être non null. Par défaut, szFilename doit pointer vers un répertoire existant. Le chemin d’accès est 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 en mode exclusif (à l’aide de JET_bitDbExclusive).

JET_errDatabaseNotFound

La base de données n’a pas été attachée précédemment (voir JetAttachDatabase).

JET_errDatabaseSharingViolation

Le fichier de base de données a déjà été attaché par une autre session.

JET_errInTransaction

Une tentative a été effectuée pour créer une base de données dans une transaction.

JET_errInvalidDatabase

Une tentative a été effectuée pour ouvrir un fichier qui n’est pas un fichier de base de données valide.

JET_errOneDatabasePerSession

Une tentative a été effectuée pour ouvrir plus d’une base de données et JET_paramOneDatabasePerSession a été définie. Consultez paramètres de la 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 bases de données peut être attaché par instance. La limite est actuellement de sept bases de données par instance.

JET_wrnDatabaseAttached

AVERTISSEMENT récupérable indiquant que le fichier de base de données a déjà été attaché par cette session.

JET_wrnFileOpenReadOnly

JET_wrnFileOpenReadOnly indique que le fichier a été attaché en lecture seule, mais JetCreateDatabase n’a pas réussi JET_bitDbReadOnly. La base de données est toujours ouverte avec un accès en lecture seule.

Remarques

Si la base de données spécifiée dans szFilename existe et que JET_bitDbOverwriteExisting n’a pas été transmis, l’appel de l’API échoue. Si JET_bitDbOverwriteExisting a été transmis, l’ancien fichier de base de données sera d’abord supprimé.

Si l’API crée un fichier de base de données, puis accède à une autre erreur, il nettoie et supprime le fichier.

JetCreateDatabase ouvre implicitement la base de données. Il n’est pas nécessaire d’appeler par la suite JetOpenDatabase.

Configuration requise

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 JetCreateDatabaseW (Unicode) et JetCreateDatabaseA (ANSI).

Voir aussi

fichiers de moteur d’Stockage Extensible
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Paramètres système