![]() |
Datenbank: BDE / Paradox • Version: 7.0 • Zugriff über: ODBC
EDataBaseError / Index is out of date
Hallo zusammen
Vor kurzer Zeit hatte ich einen Systemabsturz. Ich hatte aber meine Datenbank (Paradox-Table) auf eine externe Festplatte gespeichert (2täglich). Als ich die letzte aktuelle DB zurück an meinen Programmstandort kopierte und das Programm wieder laufen liess, kam folgende Fehlermeldung: EDataBaseError / Index is out of date. Ich hab dann eine Sicherung zurück kopiert, die 2 Tage älter war. Mit dieser Sicherung funktioniert mein Programmaufruf, ohne Fehlermeldung. Ich hab aber in den 2 Tagen ne Menge Daten in die DB eingegeben. Wenn ich die aktuelle DB nicht wieder zum laufen kriege, dann ist eine Menge Zeit verloren und ich muss dann die Daten nochmals von Hand eingeben. Wer kann mir helfen ? Wie bekomm ich die aktuelle DB mit der Fehlermeldung des Programms zum laufen ? Die Dateien sind nicht beschädigt (physisch). Ich hab nur die Dateien der DB mit den Extensions: *.db / *.FAM / *.MB / *.PX / *.TV gesichert. Meine Sekundärindices nicht. An der Datenbankstruktur hab ich ja nichts geändert. Wenn jemand ein Tip hat, wäre ich dankbar. Gruss Spargeltarzan |
Re: EDataBaseError / Index is out of date
Zitat:
Kenn mich jetzt mit Datenbanken nicht aus, aber ich würde einfach mal versuchen diese "Sekundärindices" zu löschen. |
Re: EDataBaseError / Index is out of date
Die von Dir genannte Fehlermeldung kommt in der Regel dann, wenn der Zeitstempel des Indizes nicht mit dem der Tabelle übereinstimmt. Normalerweise kann man das Problem dadurch beheben, das man die Indizes neu erstellt. Das geht entweder über entsprechende Tools oder direkt über das API der BDE. Die entsprechende Funktion heißt DbiRegenIndexes.
Auch wenn es offtopic ist, aber Du solltest vielleicht auch darüber nachdenken, Dein Programm auf eine modernere und robustere Datenbank zu portieren. |
Re: EDataBaseError / Index is out of date
Hallo,
Zitat:
Das die xg_ und yg_ Dateien eine gewisse Größe haben, und bei einem Insert größer werden, hat dir nicht zu denken gegeben ? Diese Dateien enthalten nicht nur die Index-Definition, sondern den Index selbst ! Du musst IMMER alle Dateien (ausser *.net) eines Paradox-Verzeichnisses sichern. Lösung: - DBD (Datenbank-Oberfläche starten) - die entsprechenden DB-Dateien einzeln öffnen - "Tabelle - Umstrukturieren", CheckBox "Komprimieren" anklicken und auf "Speichern" Dabei werden u.a. Indizes neu erstellt. Dass Paradox ein DB-Dino ist, wurde ja bereits gesagt ... ;) #Update:# Es gibt von Borbarcado ein Tool (TUtilXX), das macht das für ein komplettes Verzeichnis, muss aber zu der verwendeten BDE-Version passen. Auf jeden Fall mache erst mal nochmal ein Backup, bevor du loslegst. Heiko |
Re: EDataBaseError / Index is out of date
Hallo zusammen
Vielen Dank für Eure Tips. Leider hatte keiner funktioniert. Ich konnte aber das Problem nun lösen: 1) Die Datenbank neu erstellt (nur Struktur) 2) Die Datensätze dann in diese neue DB eingelesen. 3) Die neue Datenbank über die "alte" (die mit dem Indexfehler) drüberkopiert. Anschliessend das Programm wie gewohnt gestartet. Klappte prima. Gruss Spargeltarzan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 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