Einzelnen Beitrag anzeigen

spanier

Registriert seit: 31. Jan 2007
10 Beiträge
 
#1

Access DB Komprimieren gibt EOleException

  Alt 31. Jan 2007, 11:55
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Hallo zusammen,

hier wieder mal das leidige Thema Access DB komprimieren via ADO. Ich verwende Access 2003 und Delphi 6 und möchte meine DB komprimieren. Dazu habe ich folgenden Code aus dem Forum verwendet.

...
sTemp := ChangeFileExt(ADb, bak_ext);
JetEngine := CreateOleObject('JRO.JetEngine');
Application.ProcessMessages;
try
JetEngine.CompactDatabase(Format(stAccessDB, [ADb]), Format(stAccessDB, [sTemp]));
Sysutils.DeleteFile(ADb);
RenameFile(sTemp, ADb);
JetEngine := Unassigned;
MessageDlg('Die Datenbank wurde erfolgreich gepackt.', mtInformation,[mbOk], 0);
except
on E:Exception do begin
JetEngine := Unassigned;
MessageDlg('DB Komprimieren Fehler: '+#13#10+e.ClassName+' '+e.Message, mtError, [mbOk], 0);
end;
end;

....

Der Code scheint auch bei den Forum Usern zu funktionieren, aber bei mir gibt es eine EOleException mit der Meldung:

"Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet."

Eigentlich bin ich der Meinung sowas tritt auf wenn man not NULL Felder nicht füllt oder irgendeine andere DB Regel verletzt.
Das komische ist aber wenn ich das ganze im MS Access manuell anstartet funktioniert es tadellos.


Kann mir bitte jemande helfen !!!

Vielen Dank
  Mit Zitat antworten Zitat