HOW TO: Comprimere un database di Microsoft Access Database con Visual Basic .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I306287
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
Né ActiveX Data Objects (ADO) né ADO.NET consentono di comprimere o ripristinare database di Microsoft Access. Per eseguire questa operazione è tuttavia possibile utilizzare il Provider Microsoft OLE DB e Jet and Replication Objects (JRO), introdotto con Microsoft Data Access Components (MDAC) versione 2.1. ADO.NET consente di utilizzare le librerie di oggetti basati su COM tramite il livello Interop.

In questo articolo viene illustrato come comprimere un database di Access tramite Visual Basic .NET.


Torna all'inizio

Requisiti

  • Microsoft Visual Basic .NET
  • Libreria Microsoft Jet and Replication Objects 2.1, 2.5 o 2.6
Torna all'inizio

Procedura per generare l'esempio

  1. Aprire una nuova applicazione console in Visual Basic .NET.
  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti, quindi scegliere Aggiungi riferimento.
  3. Nella finestra di dialogo Aggiungi riferimento fare clic sulla scheda COM e selezionare Microsoft Jet and Replication Objects 2.1 Library. Fare clic su Seleziona per aggiungere la libreria a Componenti selezionati. Scegliere OK.
  4. Se per la libreria selezionata non viene trovato un wrapper, verrà visualizzato un messaggio di avviso. Scegliere per generare il wrapper. Ai Riferimenti del progetto verranno aggiunti i riferimenti a Microsoft ActiveX Data Objects Library (ADODB) e a JRO.
  5. In Esplora soluzioni fare clic con il pulsante destro del mouse su Module1.vb, quindi scegliere Visualizza codice.
  6. Eliminare tutto il codice dalla finestra del codice.
  7. Copiare il codice riportato di seguito e incollarlo nella finestra del codice:
    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 SubEnd Module
  8. Modificare il percorso per i file MDB di Origine e Destinazione, secondo le esigenze. Premere F5 per compilare ed eseguire il progetto.

    Il database compresso sarà in formato Access 2000 (Jet 4.0). Per utilizzare un formato Jet differente, vedere la sezione "Riferimenti".
Torna all'inizio

Precauzioni

Per comprimere un database è necessario disporre dell'accesso esclusivo al file di database. Se si tenta di comprime un file di database attualmente in uso, verrà restituito un errore di eccezione. L'eccezione può essere intercettata utilizzando una struttura Try...Catch.

Torna all'inizio

RIFERIMENTI

Per ulteriori informazioni su .NET Framework e il livello COM Interop, vedere (informazioni in lingua inglese): Per ulteriori informazioni sull'utilizzo di ADO e JRO per comprimere database di Access, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):
230501 HOWTO: Compact Microsoft Access Database via ADO
Torna all'inizio
Proprietà

ID articolo: 306287 - Ultima revisione: 12/06/2015 04:56:57 - Revisione: 2.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbhowto kbhowtomaster KB306287
Feedback