AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access DB Komprimieren gibt EOleException
Thema durchsuchen
Ansicht
Themen-Optionen

Access DB Komprimieren gibt EOleException

Offene Frage von "spanier"
Ein Thema von spanier · begonnen am 31. Jan 2007 · letzter Beitrag vom 12. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
spanier

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

Access DB Komprimieren gibt EOleException

  Alt 31. Jan 2007, 12: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
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 1. Feb 2007, 23:22
Kann mir denn keiner Helfen! Bitte! Bin für jede Idee dankbar
  Mit Zitat antworten Zitat
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 13:22
Nachtrag:

Ich habe mit Delphi 2005 das ganz probiert und es funktioniert dort auch nicht. Also liegt es nicht an Delphi sonder wohl an meiner DB. Aber ich habe keine Ahnung woran genau.

Hilfe !!!
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 13:31
Hast du jede AdoConnection zu deiner Datenbank geschlossen?

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 13:39
Ja habe ich. Es ist also keine *.ldb mehr im Datenbankverzeichnis vorhanden.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 14:22
Herzlich willkommen in der Delphi-PRAXiS, spanier.

Wie bist du mit dem Fehler beim Importieren der JetEngine nach Delphi (6) umgegangen?

Hier findest du neben Erläuterungen auch noch ein Code-Beispiel: klick

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 14:50
Dadurch das ich mit " JetEngine := CreateOleObject('JRO.JetEngine'); " arbeite, muss ich die TypeBibliothek nicht importieren.
Da ich kein Delphi 5 besitze um die alte Unit zu verwenden, dachte ich, ich umgehen den Compiler fehler somit.

Hab ich wohl falsch gedacht ?

Ich habe gelesen das wenn man die Delphi 5 Unit verwendet man von Hand die ADODB.pas Patch muss damit es unter Delphi 6 läuft.
Was aber bedeuted das man keine Laufzeitpackages verwenden kann oder doch ?

Dummerweiße sind Laufzeitpackages Vorraussetzung für mein Projekt und zweitens habe ich die Delphi 5 Unit leider nicht.

Könnte ich mir mit Delphi 2005 weiter helfen?

Danke für eure Hilfe.

Mfg

spanier
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 15:01
Hallo,

leider kann ich weder mit D6 noch mit Access testen. Ich hänge dir mal die Unit JRO_TLB an, damit du den verlinkten Code ausprobieren kannst.

Patchen musst du da nichts, das wäre die Alternative bei fehlendem D5 gewesen.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip jro_tlb_d5_830.zip (5,1 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 3. Feb 2007, 17:00
Hab die Unit importiert und installiert aber der Fehler bleibt der gleiche

Schade. Aber Danke für die Hilfe.

mfg

spanier
  Mit Zitat antworten Zitat
spanier

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

Re: Access DB Komprimieren gibt EOleException

  Alt 4. Feb 2007, 13:15
Jetzt hab ich als alternative versucht das ganze über ODBC zu machen aber da bekomme ich die Meldung
"Funktionen dieser Version sind in Datenbanken mit älterem Format nicht verfügbar."

Kann mir vielleicht dazu jemand was sagen ? Meine DB ist im Access2000 Format und der ODBC Treiber für Access Version: 4.00.6304


mfg

spanier
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz