Partager via


CDaoWorkspace::CompactDatabase

Appelez la fonction membre pour compacter une base de données spécifiée Microsoft Jet (.MDB).

static void PASCAL CompactDatabase( 
   LPCTSTR lpszSrcName, 
   LPCTSTR lpszDestName, 
   LPCTSTR lpszLocale = dbLangGeneral, 
   int nOptions = 0  
);
static void PASCAL CompactDatabase( 
   LPCTSTR lpszSrcName, 
   LPCTSTR lpszDestName, 
   LPCTSTR lpszLocale, 
   int nOptions, 
   LPCTSTR lpszPassword  
);

Paramètres

  • lpszSrcName
    Le nom d'un existant, base de données fermée.Il peut s'agir d'un chemin d'accès complet et le nom du fichier, par exemple « C : \\MYDB.MDB ».Si le nom du fichier porte une extension, vous devez le spécifier.Si votre réseau prend en charge la convention d'affectation de noms uniforme (UNC), vous pouvez également spécifier un chemin d'accès réseau, tel que « \\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB ».(Doubles barres obliques inverses sont nécessaires dans les chaînes de chemin d'accès car « caractère d'échappement \" is the C ++.)

  • lpszDestName
    Le chemin d'accès complet de la base de données compactée que vous créez.Vous pouvez également spécifier un chemin d'accès réseau comme avec lpszSrcName.Vous ne pouvez pas utiliser l'argument d' lpszDestName pour spécifier la même base de données qu' lpszSrcName.

  • lpszPassword
    Un mot de passe, utilisé lorsque vous souhaitez compacter une base de données protégé par un mot de passe.Notez que si vous utilisez la version d' CompactDatabase qui prend un mot de passe, vous devez fournir tous les paramètres.En outre, car il s'agit d'un paramètre de connexion, il requiert la mise en forme spéciale, comme suit : ; PWD=lpszPassword.Par exemple : ; PWD= " heureux ».(Le principal point-virgule est requis.)

  • lpszLocale
    Une expression de chaîne utilisée pour spécifier assembler la commande pour créer lpszDestName.Si vous omettez cet argument en recevant la valeur par défaut de dbLangGeneral (voir ci-dessous), les paramètres régionaux de la base de données est le même que celui de la base de données ancienne.Les valeurs possibles sont :

    • Anglais dedbLangGeneral , Allemand, Français, Portugais, Italien, et Espagnol moderne

    • Arabe dedbLangArabic

    • Russe dedbLangCyrillic

    • dbLangCzech Tchèque

    • Néerlandais dedbLangDutch

    • Grec dedbLangGreek

    • Hébreu dedbLangHebrew

    • Hongrois dedbLangHungarian

    • Islandais dedbLangIcelandic

    • Langues nordiques dedbLangNordic (version 1,0 du moteur de base de données Microsoft Jet uniquement)

    • dbLangNorwdan norvégien et danois

    • Polonais dedbLangPolish

    • Espagnol traditionnel dedbLangSpanish

    • dbLangSwedfin et suédois finnois

    • Turc dedbLangTurkish

  • nOptions
    Indique un ou plusieurs options pour la base de données cible, lpszDestName.Si vous omettez cet argument en recevant la valeur par défaut, lpszDestName aura le même chiffrement et la même version que lpszSrcName.Vous pouvez combiner l'option de dbEncrypt ou de dbDecrypt avec une des options de version à l'aide de l'opérateur de bits OR.Les valeurs possibles, qui spécifient un format de base de données, et non une version du moteur de base de données, sont :

    • dbEncrypt chiffrez la base de données lors de non-compactage.

    • Déchiffrer dedbDecrypt la base de données lors de non-compactage.

    • dbVersion10 créer une base de données qui utilise la version 1,0 du moteur de base de données Microsoft Jet lors de non-compactage.

    • dbVersion11 créer une base de données qui utilise la version 1,1 du moteur de base de données Microsoft Jet lors de non-compactage.

    • dbVersion20 créer une base de données qui utilise la version 2,0 du moteur de base de données Microsoft Jet lors de non-compactage.

    • dbVersion30 créer une base de données qui utilise la version 3,0 du moteur de base de données Microsoft Jet lors de non-compactage.

    Vous pouvez utiliser dbEncrypt ou dbDecrypt dans l'argument d'options pour spécifier si chiffrer ou déchiffrer la base de données telle qu'elle est compactée.Si vous omettez une constante de chiffrement ou si vous incluez dbDecrypt et dbEncrypt, lpszDestName aura le même chiffrement qu' lpszSrcName.Vous pouvez utiliser l'une des constantes de version de l'argument d'options pour spécifier la version du format de données pour la base de données compactée.Cette constante affecte uniquement la version du format de données d' lpszDestName.Vous pouvez spécifier qu'une constante de version.Si vous omettez une constante de version, lpszDestName aura la même version que lpszSrcName.Vous pouvez compacter lpszDestName à une version qui est identique ou ultérieure à celle d' lpszSrcName.

    Mise en gardeAttention

    Si une base de données n'est pas chiffré, il est possible, même si vous implémentez l'utilisateur/sécurité par mot de passe, de lire directement le fichier sur disque binaire qui constitue la base de données.

Notes

Comme vous les données dans une base de données, la base de données peuvent devenir fragmentées et utiliser plus d'espace disque que nécessaire.Régulièrement, vous devez compacter votre base de données pour défragmenter la base de données.La base de données compactée est généralement plus petite.Vous pouvez également choisir de modifier la commande s'assemblante, le chiffrement, ou la version du format de données lorsque vous copiez et condensez la base de données.

Mise en gardeAttention

La fonction membre d' CompactDatabase ne convertit pas correctement une base de données Microsoft Access complète d'une version à l'autre.Seul le format de données est converti.Les objets définis par Microsoft access, tels que des formes et des rapports, ne sont pas convertis.Toutefois, les données sont correctement converties.

ConseilConseil

Vous pouvez également utiliser CompactDatabase pour copier une base de données.

Pour plus d'informations sur compacter les bases de données, consultez la rubrique « méthode de CompactDatabase » dans l'aide de DAO.

Configuration requise

Header: afxdao.h

Voir aussi

Référence

Classe de CDaoWorkspace

Graphique de la hiérarchie

CDaoWorkspace::RepairDatabase