Fonction JetAttachDatabase2
S’applique à : Windows | serveur Windows
Fonction JetAttachDatabase2
La fonction JetAttachDatabase2 attache un fichier de base de données à utiliser avec une instance de base de données et spécifie une taille maximale pour cette base de données. Pour utiliser la base de données, elle doit être ouverte ultérieurement avec JetOpenDatabase.
JET_ERR JET_API JetAttachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit
);
Paramètres
sesid
Contexte de session de base de données qui sera utilisé pour l’appel d’API.
szFilename
Nom de la base de données à attacher.
cpgDatabaseSizeMax
Taille maximale, dans les pages de base de données, pour la base de données. La taille de page de base de données par défaut est de 4 kilo-octets, ce qui peut être modifié à l’aide de la fonction JetSetSystemParameter avant de créer une base de données.
Le passage de zéro signifie qu’il n’y a pas de maximum appliqué par le moteur de base de données.
grbit
Groupe de bits qui contiennent les options à utiliser pour cet appel, qui incluent zéro ou plusieurs des éléments suivants :
Valeur |
Signification |
---|---|
JET_bitDbDeleteCorruptIndexes |
Si JET_paramEnableIndexChecking a été défini, tous les index sur les données Unicode sont supprimés. Pour plus d’informations, consultez la section Notes. |
JET_bitDbDeleteUnicodeIndexes |
Tous les index sur les données Unicode sont supprimés, quel que soit le paramètre de JET_paramEnableIndexChecking. Pour plus d’informations, consultez la section Notes. |
JET_bitDbReadOnly |
Empêche les modifications apportées à la base de données. |
JET_bitDbUpgrade |
Réservé pour un usage futur. |
Valeur de retour
La fonction retourne l’un des codes d’erreur JET_ERR . Voici les éléments les plus couramment retournés. (Pour obtenir la liste complète des erreurs pour cette API, consultez Codes d’erreur du moteur extensibles Stockage.)
Code de retour |
Description |
---|---|
JET_errSuccess |
L’opération s’est terminée avec succès. |
JET_errBackupInProgress |
L’attachement d’une base de données n’est pas autorisé pendant une sauvegarde. |
JET_errDatabaseFileReadOnly |
Le fichier de base de données spécifié par szFilename doit être accessible en écriture. L’attribut Read-Only ne doit pas être défini et le processus en cours d’exécution doit disposer de privilèges suffisants pour écrire dans le fichier. |
JET_errDatabaseInUse |
Le fichier de base de données est déjà ouvert par un autre processus. |
JET_errDatabaseInvalidPath |
Un chemin d’accès non valide a été donné dans szFilename. szFilename doit être non NULL et faire référence à un chemin d’accès valide. |
JET_errDatabaseSharingViolation |
Le fichier de base de données a déjà été attaché par une autre session. |
JET_errFileNotFound |
Le fichier donné dans szFilename n’existe pas. |
JET_errPrimaryIndexCorrupted |
Il existe une erreur avec l’index principal. Cela peut provenir d’une altération physique (par exemple, une altération du disque ou de la mémoire). Il peut également être retourné lors de l’attachement d’une base de données modifiée pour la dernière fois sur un système d’exploitation plus ancien et que l’index principal se trouve sur une colonne avec des données Unicode. Pour plus d’informations sur les index sur les données Unicode, consultez les remarques. |
JET_errSecondaryIndexCorrupted |
Il existe une erreur avec un index secondaire. Cela peut provenir d’une altération physique (par exemple, une altération du disque ou de la mémoire). Il peut également être retourné lors de l’attachement d’une base de données modifiée pour la dernière fois sur un système d’exploitation plus ancien et qu’un index secondaire se trouve sur une colonne avec des données Unicode. Pour plus d’informations sur les index sur les données Unicode, consultez les remarques. Les index secondaires sont complètement reconstruits lorsqu’une base de données est défragmentée avec un utilitaire hors connexion à l’aide de la commande suivante : esentutl -d. |
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 non fatal indiquant que le fichier de base de données a déjà été attaché par cette session. |
Remarques
Le fichier de base de données est détaché à l’aide de JetDetachDatabase ou JetDetachDatabase2.
Pour plus d’informations, consultez JetAttachDatabase .
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite 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 |
Nécessite ESENT.dll. |
Unicode |
Implémenté en tant que JetAttachDatabase2W (Unicode) et JetAttachDatabase2A (ANSI). |
Voir aussi
Fichiers de moteur de Stockage extensibles
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter