Komprimieren eine Microsoft Access-Datenbank mit Visual Basic .NET

Zusammenfassung

Weder ActiveX Data Objects (ADO) noch ADO .NET bieten die Möglichkeit, komprimieren oder Reparieren von Microsoft Access-Datenbanken. Jedoch können Sie diese Aufgabe mithilfe von OLE DB Provider für Microsoft Jet und Replikationsobjekte (JRO) die eingeführte mit Microsoft Data Access Components (MDAC) Version 2.1. ADO .NET ermöglicht die Verwendung COM-basierter Objektbibliotheken über die Interop -Schicht.

Dieser Artikel veranschaulicht das Komprimieren einer Access-Datenbank mit Visual Basic .NET.


Voraussetzungen

  • Microsoft Visual Basic .NET
  • Microsoft Jet and Replication Objects 2.1, 2.5 oder 2.6-Bibliothek

Schritte zum Beispiel erstellen

  1. Öffnen Sie ein neues Visual Basic .NET Konsolenanwendungsprojekt.
  2. Im Fenster Projektmappen-Explorer mit der rechten Maustaste des Knotens Verweise und wählen Verweis hinzufügen.
  3. Klicken Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte COM , und dann Microsoft Jet und Replikation Objekte 2. X Bibliothek. Klicken Sie auf auswählen , um AusgewählteKomponenten hinzuzufügen. Klicken Sie auf OK.

    Hinweis Dabei steht x für die aktuelle Versionsnummer der Komponente Microsoft Jet and Replication Objects-Bibliothek.
  4. Eine Warnung wird angezeigt, wenn kein Wrapper für die ausgewählte Bibliothek gefunden ist. Klicken Sie auf Ja, um einen Wrapper zu generieren. Microsoft ActiveX Data Objects-Bibliothek (ADODB) und JRO-Verweise werden dem Projekt Verweisehinzugefügt werden.
  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste Module1.vb und auf Code anzeigen.
  6. Löschen Sie den Code aus dem Codefenster.
  7. Kopieren Sie folgenden Code und fügen Sie ihn in das Codefenster:
    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. Ändern Sie den Pfad zu der Quell- und MDB-Dateien nach Bedarf. Drücken Sie F5, um das Projekt auszuführen.

    Die komprimierte Datenbank werden in Access 2000 (Jet 4.0)-Format. Für andere Jet-Formate siehe "Informationsquellen".

Fehlerquellen

Um eine Datenbank komprimieren, benötigt das Jet-Datenbankmodul exklusiven Zugriff auf die Datenbank. Versucht, eine Datenbankdatei zu komprimieren, die aktuell verwendet wird führt zu einer Ausnahme. Diese Ausnahme kann abgefangen werden mit einer Try... Catch abgefangen Sie-Struktur werden.

Referenzen

Weitere Informationen zu.NET Framework und COM-Interop-Schicht finden Sie unter:

Verfügbarmachen von COM-Komponenten für.NET Framework
http://msdn2.microsoft.com/en-us/library/z6tx9dw3(vs.71).aspx
Weitere Informationen zur Verwendung von ADO und JRO zum Komprimieren von Access-Datenbanken finden Sie im folgenden Artikel der Microsoft Knowledge Base:

230501 wie Microsoft Access-Datenbank über ADO komprimieren

Eigenschaften

Artikelnummer: 306287 – Letzte Überarbeitung: 20.01.2017 – Revision: 2

Feedback