Microsoft Access-Datenbank über ADO komprimieren

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 230501
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Obwohl ADO-Spezifikation keine Objekte zum Komprimieren von Microsoft Access-Datenbanken, kann diese Funktion mithilfe der ADO-Erweiterungs erreicht werden: OLE DB Provider für Microsoft Jet und Replikationsobjekte (JRO). Diese Funktion wurde zum ersten Mal in der JET OLE DB-Provider, Version 4.0 (Msjetoledb40.dll) und JRO Version 2.1 (Msjro.dll) implementiert. Diese DLL-Dateien sind nach der Installation von MDAC 2.1 verfügbar. Sie können die neueste Version von MDAC von folgender Website herunterladen:
Universal Data Access-Website

Weitere Informationen

Um eine Access-Datenbank mithilfe von ADO zu komprimieren, muss MDAC 2.1 oder höher korrekt auf dem Computer installiert werden. Es folgen die wichtigsten Schritte zum Komprimieren einer Microsoft Access-Datenbank mit Visual Basic und Visual C++:

Visual Basic: Komprimieren einer Access-Datenbank über ADO

  1. Klicken Sie in der Visual Basic-IDE im Menü Projekte auf Verweise.
  2. Fügen Sie Microsoft Jet and Replication Objects X.X Library, wobei (X.X ist größer als oder gleich 2.1).
  3. Visual Basic, ersetzen die Quelle und Ziel Datenbankpfade von Daten bei Bedarf fügen Sie die folgenden Codezeilen hinzu:
    Dim jro As jro.JetEngine
    Set jro = New jro.JetEngine
    jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nwind2.mdb;Jet OLEDB:Database Password=test", _ 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abbc2.mdb;Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test"
    					
Hinweis: In DAO 3.60 ist die RepairDatabase-Methode nicht mehr verfügbar. Der obige Code zeigt die Verwendung der CompactDatabase-Methode. Diese Methode ersetzt die DAO 3.5 RepairDatabase-Methode.

Visual C++: Komprimieren einer Access-Datenbank über ADO

  1. Fügen Sie neben # Import, den Msado15.dll (MDAC2.1), die folgende # Import-Anweisung zum Generieren von Wrapper-Klassen für JRO zu Ihrem .cpp-Klassen (Sie können alternativ die Wrapperklassen effizienter mithilfe der Attribute No_implementation und Implementation_only der Präprozessor # Import-Anweisung):
    #import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace 
    					
  2. Fügen Sie die folgenden (eigene Datenbankpfade Quelle und Ziel angeben) in die CPP-Datei, in dem Sie die Datenbank komprimieren möchten:
    ...
    try
    {
       IJetEnginePtr jet(__uuidof(JetEngine));
      jet->CompactDatabase( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\nwind2.mdb;Jet OLEDB:Database Password=test", 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc.mdb;" \ 
    "Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test");
    }
    catch(_com_error &e) 
    {       
       ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;    
    }
    					
Hinweis: Der Jet-OLEDB:Engine-Typ = 4 ist nur für Jet 3.x-Format MDB-Dateien. Wenn dieser Wert ausgelassen wird, wird die Datenbank automatisch auf die Version 4.0 aktualisiert (Jet-OLEDB:Engine-Typ = 5). Sehen Sie die folgende Tabelle enthält die entsprechenden Werte für Jet-OLEDB:Engine-Typ:
Tabelle minimierenTabelle vergrößern
Jet-OLEDB:Engine-TypJet x.x MDB Formatdateien
1JET10
2JET11
3JET2X
4JET3X
5JET4X

Informationsquellen

Weitere Informationen finden Sie die folgenden Artikel in der Microsoft Knowledge Base:
230496 Komprimieren von Microsoft Access-Datenbank über OLE DB

Eigenschaften

Artikel-ID: 230501 - Geändert am: Mittwoch, 16. Mai 2012 - Version: 1.0
Keywords: 
kbhowto kbjet kbprovider kbmt KB230501 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 230501
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com