Compartilhar via


CDaoWorkspace::CompactDatabase

Chamar essa função de membro para compactar um banco de dados especificado da 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  
);

Parâmetros

  • lpszSrcName
    O nome de uma existente, ao banco de dados fechado.Pode ser um caminho completo e nome de arquivo, como “C:\” \ MYDB.MDB.Se o nome do arquivo possui uma extensão, você deve especificá-lo.Se sua rede oferece suporte a convenção de nomenclatura uniforme (UNC), você também pode especificar um caminho de rede, como “\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB”.(As barras invertidas duplas são necessárias em cadeias de caracteres de caminho porque “\” é um caractere de escape C++.)

  • lpszDestName
    O caminho completo do banco de dados compactado que você está criando.Você também pode especificar um caminho de rede como com lpszSrcName.Você não pode usar o argumento de lpszDestName para especificar o mesmo arquivo de banco de dados que lpszSrcName.

  • lpszPassword
    Uma senha, usada quando você deseja compactar um banco de dados protegido por senha.Observe que se você usar a versão de CompactDatabase que leva uma senha, você deve fornecer os parâmetros.Além de isso, porque este é um parâmetro conectar, exige formatação especial, como segue: ; PWD=lpszPassword.Por exemplo: ; Felizmente PWD= "”.(O ponto-e-vírgula principal é necessária.)

  • lpszLocale
    Uma expressão de cadeia de caracteres usada para especificar ordem de comparação para criar lpszDestName.Se você omitir o argumento aceitar o valor padrão de dbLangGeneral (veja abaixo), a localidade do novo banco de dados é a mesma que o antigo banco de dados.Os valores possíveis são:

    • Espanhol inglês , alemão, francês, português, italiano, e moderno dedbLangGeneral

    • Árabe dedbLangArabic

    • Russo dedbLangCyrillic

    • dbLangCzech Checo

    • Dutch dedbLangDutch

    • Grego dedbLangGreek

    • Hebraico dedbLangHebrew

    • Hungarian dedbLangHungarian

    • Islandês dedbLangIcelandic

    • Idiomas nórdicos dedbLangNordic (versão 1,0 do mecanismo de banco de dados Microsoft Jet somente)

    • dbLangNorwdan norueguês e dinamarquês

    • Polonês dedbLangPolish

    • Espanhol tradicional dedbLangSpanish

    • dbLangSwedfin sueco e finlandês

    • Turco dedbLangTurkish

  • nOptions
    Indica uma ou mais opções para o banco de dados de destino, lpszDestName.Se você omitir o argumento aceitar o valor padrão, lpszDestName terá a mesma criptografia e a mesma versão que lpszSrcName.Você pode combinar a opção de dbEncrypt ou de dbDecrypt com o de um usando opções de bits OU bit a versão do operador.Os valores possíveis, que especificam um formato de banco de dados, não uma versão do mecanismo de banco de dados, são:

    • dbEncrypt criptografa o banco de dados para compactar.

    • dbDecrypt descriptografa o banco de dados para compactar.

    • dbVersion10 cria um banco de dados que use a versão 1,0 do mecanismo de banco de dados Microsoft Jet para compactar.

    • dbVersion11 cria um banco de dados que use a versão 1,1 do mecanismo de banco de dados Microsoft Jet para compactar.

    • dbVersion20 cria um banco de dados que use a versão 2,0 do mecanismo de banco de dados Microsoft Jet para compactar.

    • dbVersion30 cria um banco de dados que use a versão 3,0 do mecanismo de banco de dados Microsoft Jet para compactar.

    Você pode usar dbEncrypt ou dbDecrypt no argumento das opções para especificar se criptografar ou descriptografar o banco de dados que é compactado.Se você omitir uma constante de criptografia ou se você incluir dbDecrypt e dbEncrypt, lpszDestName terá a mesma criptografia que lpszSrcName.Você pode usar uma das constantes de versão no argumento das opções para especificar a versão do formato de dados para o banco de dados compactado.Essa constante afeta somente a versão do formato de dados de lpszDestName.Você pode especificar apenas uma constante de versão.Se você omitir uma constante de versão, lpszDestName terá a mesma versão que lpszSrcName.Você pode compactar lpszDestName somente a uma versão que é a mesma ou posterior do que a de lpszSrcName.

    Observação de cuidadoCuidado

    Se um banco de dados não é criptografado, é possível, mesmo se você implementar o usuário/segurança de senha, ler diretamente o arquivo em disco binário que constitui o banco de dados.

Comentários

Porque você modificar dados em um banco de dados, o arquivo de banco de dados pode se tornar fragmentado e usar mais espaço em disco de que necessário.Periodicamente, você deve compactar seu banco de dados ao defragment o arquivo de banco de dados.o banco de dados compactado é geralmente menor.Você também pode optar para alterar a ordem de comparação, a criptografia, ou a versão do formato de dados quando você copiar e compactar o banco de dados.

Observação de cuidadoCuidado

A função de membro de CompactDatabase não converterá corretamente um banco de dados completo do Microsoft Access de uma versão para outra.Somente o formato de dados é convertido.Microsoft de acesso definiu objetos, como formulários e relatórios, não são convertidos.Em o entanto, os dados são convertidos corretamente.

DicaDica

Você também pode usar CompactDatabase para copiar um arquivo de banco de dados.

Para obter mais informações sobre como compactar bancos de dados, consulte o tópico “método CompactDatabase” na ajuda de DAO.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe de CDaoWorkspace

Gráfico de hierarquia

CDaoWorkspace::RepairDatabase