![]() |
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:
|
Re: Merkwürdiger Indexfehler
Nur als Hinweis noch, während der Korrektur sollte kein anderes Programm Zugriff auf die
Paradox-Datei haben. Sonst kann es sein das die Änderung gleich wieder mit dem fehlerhaften Wert übergeplättet wird. alex p.s. Wir sind zum Glück seit einigen Jahren auf Firebird+FibPlus umgestiegen :-D |
Re: Merkwürdiger Indexfehler
Hallo,
ich habe hier auch ein Kopier-Programm. Es wird die kaputte .DB benötigt und eine frische leere Tabelle (komplett, .db, .px. .xg0, .yg0). Bei Interesse bei mir melden. Beim Kopieren werden die AutIncs berücksichtigt. Du lönntest aber auch noch ein 1. Komprimieren der Tabelle per DBD machen 2. Das AutoInc in ein Integer umformen und dann wieder zurück 3. Weg von Pdx ... jaja, musste sein ;) Übrigensd habe ich hier ein ursprünglich Pdx-Programm, was mit ein wenig Aufwand jetzt unter FireBird läuft, allerdings immer noch per BDE (SQL-Links). Der Umstieg war nicht sooo schlimm. Heiko |
Re: Merkwürdiger Indexfehler
Zitat:
Bei der größe kannst du froh sein das die DB eh nicht viel öfters kaputt geht. Schon mal propiert die Virenscanner so zu konfigurieren das sie die DB-Dateien nicht scannen? Zitat:
![]() Zitat:
|
Re: Merkwürdiger Indexfehler
Zitat:
BTW: Das Problem hat sich in sofern erledigt, als das der Kunde eine Datensicherung der Datenbank zurückgespielt hat. |
Re: Merkwürdiger Indexfehler
Zitat:
|
Re: Merkwürdiger Indexfehler
Zitat:
Darüber hinaus existiert laut meinem Chef auch kein Werkvertrag, in dem irgendwelche Gewährleistungen geregelt sind - warum auch immer. Ich bin auch erst seit etwas mehr als 2 Jahren in dieser Firma. |
Re: Merkwürdiger Indexfehler
Zitat:
|
Re: Merkwürdiger Indexfehler
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 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