Fehelnde Tabellenrelationen automatisch löschen

23. Oktober 2006 09:12

Hallo!

Kennt jemand ein Tool, mit dem man fehlerhafte Datenbanksätze löschen kann? Wenn man die Feldbeziehungen der Datenbank prüft kommen tausende Fehlermeldungen bezüglich der Relationen. Da fehlen zB Objekte, Debitoren etc. auf welche aber noch Verweise existieren. Dies bei einer 30GB Datenbank manuell zu korrigieren ist extrem zeitaufwändig. Das muss doch irgendwie automatisierbar sein!?

23. Oktober 2006 09:45

Mir ist kein Tool bekannt, mit welchem sich die beschriebenen Probleme generell lösen könnten.

Was mich erstaunt ist die Aussage 'kommen tausende Fehlermeldungen bezüglich der Relationen'. Kann es sein, dass der Objektstand nicht vollständig ist, bzw. das ein Gemisch von Objekten unterschiedlicher Versionen besteht? Wurden in dieser Lösung viele indivduelle Programmierungen vorgenommen? In solchen Fällen habe ich schon oft erlebt, dass z.B. beim Löschen von Kopfdaten im OnDelete-Trigger das Löschen der Zeilen vergessen wurde, usw. Dann bleiben natürlich Record-Leichen zurück.

23. Oktober 2006 13:31

ich vermute eher, er meint, dass z.B. in Feldern Lagercode (Locationcode) noch Werte drinstehen, die nicht mehr existieren, weil das Lager gelöscht wurde.
Beim Umbenennen wird ja in allen per Relation verbundenen Tabellen auch umbenannt, beim Löschen jedoch werden die verbundenen Tabellen nicht angefasst, sondern eben z.B. nur das Lager in der Tabelle Location gelöscht.
Die einzige Hilfe, die Navision hier bietet, ist suchen und ersetzen, was aber für jedes Feld einzeln angestossen werden muss.

23. Oktober 2006 13:54

Ja, das kann natürlich auch gut sein. Referenzielle Integrität wäre hier das Stichwort. Hätte ich mir von Navision auch schon gewünscht.