![]() |
Datenbank: Access • Version: 2003 • Zugriff über: Delphi
Datenbank komprimieren
Hallo,
Ich möchte gerne eine Datenbank über "Delphi komprimieren und reparieren". Dazu habe ich hier folgendes gefunden: ![]() Leider erkennt mein Delphi die "JetEngine" nicht:
Delphi-Quellcode:
vJE := CreateOleObject('JRO.JetEngine');
Weiß jemand Rat, was ich tun soll bzw. kennt ihr eine andere Möglichkeit, eine Datenbank zu komprimieren? Vielen Dank! |
AW: Datenbank komprimieren
So nach einiger Recherche habe ich eine neue Prozedur gefunden, die tatsächlich funktioniert :)
![]() Der Fehler war, dass ich "ComObj;" nicht bei Uses deklariert habe. (es passiert mir oft, dass ich mein Problem selbst löse, sobald ich es ins Forum geschrieben habe :D) |
AW: Datenbank komprimieren
Zitat:
Und weil ich das Problem ebenfalls bereits vor mir hatte, hier ein Stückchen Code:
Delphi-Quellcode:
Funktioniert allerdings nur, wenn die Datenbank kein Passwort verlangt ...
PROCEDURE TDatMod.Komprimieren(Sender : TObject);
VAR JE : IJetEngine; sSource, sDestination, DateiName : STRING; BEGIN DateiName := Pfad + Datenbank; sSource := Format('Data Source=%s;Jet OLEDB:Engine Type=5', [DateiName]); sDestination := Format('Data Source=%s;Jet OLEDB:Engine Type=5', [DateiName + '.MDB']); TRY TRY JE := CoJetEngine.Create; JE.CompactDatabase(sSource, sDestination); SysUtils.DeleteFile(DateiName); RenameFile(DateiName + '.MDB', DateiName); EXCEPT ON E: Exception DO MessageDlg('Fehler beim Komprimieren der Datenbank: ' + E.Message, mtError, [mbOk],0); END; FINALLY JE := NIL; END; END; Der Code ist aus dem Programm ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz