Fonction JetAttachDatabase2

S’applique à : Windows | Windows Serveurs

Fonction JetAttachDatabase2

La fonction JetAttachDatabase2 attache un fichier de base de données pour une utilisation avec une instance de base de données et spécifie une taille maximale pour cette base de données. Pour pouvoir utiliser la base de données, elle doit être ouverte par la suite 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, en pages de base de données, pour la base de données. La taille de page de la base de données par défaut est de 4 kilo-octets, qui peut être modifiée à l’aide de la fonction JetSetSystemParameter avant de créer une base de données.

Le fait de passer la valeur zéro signifie qu’il n’y a pas de valeur maximale appliquée 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 seront supprimés. Pour plus d’informations, consultez la section Notes.

JET_bitDbDeleteUnicodeIndexes

Tous les index des données Unicode seront supprimés, quel que soit le paramètre de JET_paramEnableIndexChecking. Pour plus d’informations, consultez la section Notes.

JET_bitDbReadOnly

Empêche toute modification de la base de données.

JET_bitDbUpgrade

Réservé pour un usage futur.

Valeur renvoyée

La fonction retourne l’un des codes d’erreur JET_ERR . Les éléments suivants sont les plus couramment renvoyés. (pour obtenir la liste complète des erreurs pour cette API, consultez Codes d’erreur du moteur d’Stockage Extensible.)

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 des 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é spécifié 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 spécifié dans szFilename n’existe pas.

JET_errPrimaryIndexCorrupted

Il y a une erreur avec l’index primaire. Cela peut provenir d’une corruption physique (par exemple, un disque ou une altération de la mémoire). Elle peut également être retournée lors de l’attachement d’une base de données qui a été modifiée pour la dernière fois sur un système d’exploitation plus ancien et l’index primaire sur une colonne avec des données Unicode. Pour plus d’informations sur les index sur les données Unicode, consultez les notes.

JET_errSecondaryIndexCorrupted

Il y a une erreur avec un index secondaire. Cela peut provenir d’une corruption physique (par exemple, un disque ou une altération de la mémoire). Elle peut également être retournée lors de l’attachement d’une base de données qui a été modifiée pour la dernière fois sur un système d’exploitation plus ancien et un index secondaire sur une colonne avec des données Unicode. Pour plus d’informations sur les index sur les données Unicode, consultez les notes. Les index secondaires sont entièrement reconstruits lorsqu’une base de données est défragmentée à l’aide d’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 récupérable indiquant que le fichier de base de données a déjà été attaché par cette session.

Notes

Le fichier de base de données est détaché à l’aide de JetDetachDatabase ou JetDetachDatabase2.

Consultez JetAttachDatabase pour les remarques.

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 JetAttachDatabase2W (Unicode) et JetAttachDatabase2A (ANSI).

Voir aussi

fichiers de moteur d’Stockage Extensible
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter