![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Merkwürdiger Indexfehler
Hallo,
ich habe zur Zeit ein merkwürdiges Problem mit einem Index. Beim Anlegen eines Datensatzes in die Tabelle werden im AfterInsert einige Felder mit Vorgabedaten gefüllt. Seit gestern können aber keine Daten mehr in der Tabelle gespeichert werden, da der Post-Befehl mit der Fehlermeldung "Indexfehler" abgebrochen wird. Ein Neuerstellen der Indizes der Tabelle mittels dbiRegenIndices brachte leider auch nicht den gewünschten Erfolg. Merkwürdigerweise führt ein Löschen und Neuanlegen der Indizes der Tabelle dazu, das ein SetRange-Kommando, das vor dem Insert ausgeführt wird, fehlschlägt. Hat hier jemand eine Idee, wie das Problem kurzfristig zu lösen ist. Erschwerend kommt hinzu, dass das Programm bei einem Kunden dazu führt, das dieser seit heute keine Aufträge mehr erfassen kann. Gruß Heiko |
Re: Merkwürdiger Indexfehler
Wie groß ist die DB? Liegt Sie auf einem Server oder lokal? AFAIK gibt es tools um zerschossene DB-Tabellen zu reparieren.
Schon mal gedanken gemacht Paradox/BDE zu entsorgen und auf was moderneres umzusteigen? |
Re: Merkwürdiger Indexfehler
Hallo,
meine mich schwach an so ein Problem erinnern zu können, habe seinerzeit per Programm die Daten aus der vorhandenen Tabelle in eine neue Tabelle gleicher Struktur kopiert und dann die neuen Tabellen umbenannt und dem Programm untergeschoben. Nicht elegant, aber eventuell schnell genug um mal eben zu reparieren. Eventuell gehts mit der Komponente BatchMove (BDE-Palettenseite) etwas schneller und eleganter, die kann ggfls. auch zusätzliche Tabellen erstellen, in denen Problemdatensätze protokolliert werden. Es sieht mir so aus, als sei der Index der Paradoxtabelle zerschossen worden. Kannst Du die Daten kurzfristig auf Konsistenz prüfen, ist da eventuell irgend ein Strubbel in eine Indexspalte geraten? Wenn SetRange scheitert, kannst Du per Hand, TQuery und SQL... auf der Tabelle nachvollziehen, ob es, ausgehend von den Daten, funktionieren müsste oder siehst Du dort "unerwartete" Werte bzw. Datenkonstellationen? Ansonsten schaum mal hier ![]() Reparaturwerkzeuge: hier ![]() und hier ![]() |
Re: Merkwürdiger Indexfehler
Hallo Heiko,
wir hatten einige Male das Problem, dass zwar ein neuer Datensatz mit einer neuen ID vorhanden war, der neue Wert des Autoinc-Feldes aber nicht in der Header der Paradoxdatei zurückgeschrieben wurde. Damit wurde versucht beim Neuanlegen eines Datensatzes die bereits vergeben ID erneut zu vergeben, was zu einem Indexfehler führte. Diesen Fehler hat auch keine Reparaturprogramm festgestellt oder korrigiert. Nach deinen Schilderungen könnte es sich um den gleichen Fehler handeln. Ich habe mir damals ein keines Programm zum Patchen der Paradoxdatei geschrieben. Siehe Anhang alex |
Re: Merkwürdiger Indexfehler
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Merkwürdiger Indexfehler
Zitat:
|
Re: Merkwürdiger Indexfehler
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Jetzt noch mal ohne. |
Re: Merkwürdiger Indexfehler
Jetzt funktioniert es, jedoch hat es das Problem leider nicht behoben. Der Indexfehler kommt nach wie vor
|
Re: Merkwürdiger Indexfehler
Zitat:
alter Autoinc-Wert = ?? neu Autoinc-Wert = ?? wenn es der Fehler ist der bei und aufgetreten ist, dann müsste "alter Autoinc-Wert" < "neu Autoinc-Wert" sein. Zur Korrektur auf den [Ok]-Button klicken. alex |
Re: Merkwürdiger Indexfehler
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 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 by Thomas Breitkreuz