Artigo: 306287 - Última revisão: quarta-feira, 16 de Maio de 2007 - Revisão: 2.3

Como compactar uma base de dados do Microsoft Access utilizando o Visual Basic .NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Nem ActiveX Data Objects (ADO) nem ADO.NET fornecem os meios para compactar ou reparar bases de dados do Microsoft Access. No entanto, pode efectuar esta tarefa, utilizando o Microsoft Jet OLE DB Provider e Replication Objects (JRO) que foi introduzida com o Microsoft Data Access Components (MDAC) versão 2.1. ADO.NET permite a utilização de bibliotecas de objectos baseada em COM a camada de interoperabilidade .

Este artigo demonstra como compactar uma base de dados do Access utilizando o Visual Basic. NET.


Requisitos

  • Microsoft Visual Basic .NET
  • Microsoft Jet and Replication Objects 2.1, 2.5 e 2.6 Library

Passos para criar o exemplo

  1. Abra uma nova aplicação de consola Visual Basic. NET.
  2. Na janela Solution Explorer , clique com o botão direito do rato no nó de referências e seleccione Adicionar referência .
  3. Na caixa de diálogo Adicionar referência do , clique no separador COM e, em seguida, seleccione do Microsoft Jet e 2 objectos de replicação. x biblioteca . Clique em Seleccionar para o adicionar Componentes seleccionados . Clique em OK .

    Nota Neste passo, x é um marcador de posição para o número da versão actual do componente do Microsoft Jet e biblioteca de objectos de replicação.
  4. Será apresentado um aviso se não existir nenhum wrapper encontrado para a biblioteca seleccionada. Clique em Sim para gerar um wrapper. Microsoft ActiveX Data Objects Library (ADODB) e JRO referências serão adicionadas o projecto referências .
  5. Na janela Solution Explorer, clique com o botão direito do rato Module1.vb e clique em Ver código .
  6. Elimine todo o código da janela de código.
  7. Copie o seguinte código e cole-o na janela de código:
    Module Module1
    
        Sub Main()
    
            Dim jro As JRO.JetEngine
    
            jro = New JRO.JetEngine()
    
            jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5")
    
            MsgBox("Finished Compacting Database!")
        End Sub
    
    End Module
    					
  8. Altere o caminho para os ficheiros .mdb origem e destino conforme apropriado. Prima F5 para compilar e executar o projecto.

    A base de dados compactada irá estar no formato Access 2000 (Jet 4.0). Para um formato diferente do Jet, consulte "Referências".

Armadilhas

Para compactar uma base de dados, o motor de base de dados Jet requer acesso exclusivo ao ficheiro de base de dados. A tentativa compactar um ficheiro de base de dados que está actualmente em utilização resultará numa excepção. Esta excepção pode ser detectada uma estrutura tente... Apanha a utilizar.

Referências

Para obter mais detalhes sobre o .NET Framework e a camada de interoperabilidade, consulte:
Exposição de componentes do COM para o .NET Framework
http://msdn2.microsoft.com/en-us/library/z6tx9dw3(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/z6tx9dw3(vs.71).aspx)
Para obter mais informações sobre como utilizar ADO e o JRO para compactar bases de dados do Access, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
230501  (http://support.microsoft.com/kb/230501/ ) Como Compactar base de dados do Microsoft Access através de ADO

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbhowtomaster KB306287 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306287  (http://support.microsoft.com/kb/306287/en-us/ )