Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
Entwicklerbibliothek
Visual Studio .NET
Visual Basic .NET
 Access-Datenbanken komprimieren
MSDN Quickie zu Visual Basic .NET
Access-Datenbanken komprimieren
Veröffentlicht: 23. Jun 2005
Von Mathias Schiffer

Dieser MSDN Quickie zeigt, wie Sie Access-Datenbanken von Visual Basic .NET aus komprimieren können.

Microsoft Access macht es dem Anwender per Menüsteuerung einfach, angesammelte Datenleichen in Jet-Datenbanken durch Komprimierung zu beseitigen.

Natürlich können Sie für Ihre Jet-Datenbank eine solche Komprimierung auch aus Ihrem Code heraus vornehmen. Schließlich ist Access selber letztlich auch nicht mehr als ein wirklich gutes Frontend für Jet-Datenbanken.

Wählen Sie in Visual Studio .NET über das Menü "Projekt" | "Verweis hinzufügen" aus der Liste der COM-Verweise den Eintrag "Microsoft Jet and Replication Objects #.# Library" aus.

Damit bleibt die Komprimierung einer MDB auch für Ihren Visual Basic .NET-Code kein Hexenwerk mehr: Das JetEngine-Objekt der Bibliothek bietet Ihnen die Methode CompactDatabase an, deren Parameter der Pfad zur bestehenden Datenbankdatei und der Pfad zu der zu erzeugenden, komprimierten Datenbank sind.

Der folgende Beispielcode zeigt auf einfache Weise, wie Sie diese Technologie einsetzen können:

Public Function CompactDatabase(ByVal CurrentDatabasePath As String, _
                                ByVal NewDatabasePath As String _
                               ) As Boolean
  ' Komprimiert eine Jet-Datenbank.
  ' Notwendiger COM-Verweis: "Microsoft Jet and Replication Objects #.# Library"
  ' CurrentDatabasePath: Kompletter Pfad zur unkomprimierten Jet-Datenbank
  ' NewDatabasePath:     Kompletter Pfad zur neuen, komprimierten Jet-Datenbank
  
  Try
  
    Dim objJetEngine As JRO.JetEngine = New JRO.JetEngine
  
    ' Verbindunsgsstring für die Quell-Datenbank erzeugen
    Dim strSourceConnectionString As String
    strSourceConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                "Data Source=" & CurrentDatabasePath & ";"
  
    ' Verbindunsgsstring für die Ziel-Datenbank erzeugen
    Dim strDestinationConnectionString As String
    strDestinationConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
                                
                                "Data Source=" & NewDatabasePath & ";"
  
    ' Die Jet-Engine komprimiert die Datenbank:
    objJetEngine.CompactDatabase(strSourceConnectionString, strDestinationConnectionString)
  
      
  Catch ex As Exception
  
    ' Fehlerbehandlung nach Bedarf
  
  End Try
  
End Function

Mathias Schiffer widmet sich als freier Softwareentwickler und Technologievermittler größeren Projekten ebenso wie arbeitserleichternden Alltagslösungen. Seit Jahren gibt er sein Wissen in unzähligen Publikationen auch an andere Entwickler und Entscheider weiter. Sie erreichen ihn per E-Mail an die Adresse Schiffer@mvps.org.


© 2012 Microsoft. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit
Page view tracker