![]() |
||
![]() |
Access-Datenbanken komprimierenIch habe in Access eine Anwendung geschrieben und möchte meinen Anwendern am Front-End die Möglichkeit geben, mit Hilfe eines Menübefehls die Datenbank zu komprimieren. In der Access-Umgebung ist dies problemlos möglich, doch wie kann ich das in der Runtime-Umgebung realisieren? Hinter der Menüstruktur von Access verbergen sich Methodenaufrufe. Wenn Sie den Menübefehl Datenbank komprimieren ausführen, schickt Access eine Nachricht an die Database-Engine (den Datenbankkern). Diese erledigt die Aufgabe dann entsprechend ihrer Programmierung. DBEngine.CompactDatabase äC:\MyBase.MDBô äC:\MyNewBase. MDBô, äô, dbEncrypt¶Die Engine komprimiert daraufhin die Datenbank MyBase und speichert das verschlüsselte Ergebnis als MyNewBase. Die Methode CompactDatabase unterstützt auch Paßwörter und unterschiedliche Versionen der Database-Engine. Anschließend können Sie zum Beispiel mit den folgenden Anweisungen noch die alte Datenbank löschen und der komprimierten wieder den alten Namen geben: Kill äC:\MyBase.MDBô¶Beachten Sie jedoch, daß eine Komprimierung den exklusiven Zugriff auf die gesamte Datenbank verlangt. Im Rahmen einer Mehrbenutzerumgebung kann es daher notwendig sein, bestehende Verbindungen anderer Benutzer zu trennen. Das automatische Trennen ist jedoch aus Gründen der Datenintegrität eine heikle Angelegenheit und bedarf einer Menge Geschick und Koordination. Um unnötig häufige Komprimierungen zu vermeiden, sollten Sie darüber nachdenken, diese Funktionalität lediglich in einem eigenständigen Administrations-Werkzeug oder der Back-End-Logik unterzubringen. |
![]() |