Entfernen von nicht mehr verwendeten Feldnamen
2003-10-28 12:00 abgelegt in: Entwicklung
Jeder Notes-Entwickler kennt das: Man hat zu Testzwecken temporär einige Felder in einer Maske verwendet. Später werden diese Felder dann aus der Maske entfernt. Totzdem verbleiben diese Felder offensichtlich auf "ewig" in der Datenbank.

Im R5.x Designer-Client geöffnete Maske mit Testfeldern
Technischer Hintergrund
Immer wenn ein neues Feld zur Datenbank hinzugefügt wird, fügt Notes es zur internen UNK-Tabelle (=UNique Key Table) hinzu. Die daraus abgeleitete Unique Field List wird in R4.x in der Felder- und Formel-Dialogbox und ab R5.x (wie im Bild zu sehen) auf dem Reference-Register gelistet.
Als "Hinzufügen eines Feldes zur einer Datenbank" wertet Notes:
Achtung!
Wenn die Datenbank über einen Volltext-Index verfügt, werden die Felder NICHT entfernt.
Lösung
Sie sollten folgende Schritte zum erfolgreichen Entfernen der nicht mehr verwendeten Felder durchführen.
In seltenen Fällen wurde beobachtet, dass - bedingt durch eine defekte Teilmaske in der Datenbank - die oben beschriebenen Vorgehensweise nicht funktioniert hat.
Erstellen Sie in diesem Falle eine neue Teilmaske mit beliebigem Namen, transferieren Sie die vorhandenen Felder und sonstigen Inhalte über die Zwischenablage, löschen Sie die original Teilmaske und bennen Sie die neue Teilmaske mit dem zuvor verwendeten Namen um.
Notes/Domino Version: ab 4.x

Im R5.x Designer-Client geöffnete Maske mit Testfeldern
Technischer Hintergrund
Immer wenn ein neues Feld zur Datenbank hinzugefügt wird, fügt Notes es zur internen UNK-Tabelle (=UNique Key Table) hinzu. Die daraus abgeleitete Unique Field List wird in R4.x in der Felder- und Formel-Dialogbox und ab R5.x (wie im Bild zu sehen) auf dem Reference-Register gelistet.
Als "Hinzufügen eines Feldes zur einer Datenbank" wertet Notes:
- das Hinzufügen eines Feldes in einem Design-Element (z.B. Maske)
- das Hinzufügen eines Feldes in einem Dokument (z.B. während der Ausführung eines Agenten)
- das Einfügen eines Dokumentes, welches Felder mit neuen Feldnamen enthält, in eine Datenbank (z.B. über die Windows Zwischenablage)
Achtung!
Wenn die Datenbank über einen Volltext-Index verfügt, werden die Felder NICHT entfernt.
Lösung
Sie sollten folgende Schritte zum erfolgreichen Entfernen der nicht mehr verwendeten Felder durchführen.
- Löschen Sie die Felder aus allen Dokumenten der Datenbank
- Löschen Sie die Felder aus allen Masken und Teilmasken der Datenbank
- Löschen Sie einen ggf. vorhandenen Volltext-Index der Datenbank
- Komprimieren Sie die Datenbank mit der Option -c (copy style compaction)
- Verwenden Sie hierzu folgende Syntax an der Domino Serverkonsole:
LOAD COMPACT datenbank.nsf -c
(Pfadangaben - wie immer bei Server Konsolenbefehlen - relativ zum Domino-Data-Verzeichnis)
In seltenen Fällen wurde beobachtet, dass - bedingt durch eine defekte Teilmaske in der Datenbank - die oben beschriebenen Vorgehensweise nicht funktioniert hat.
Erstellen Sie in diesem Falle eine neue Teilmaske mit beliebigem Namen, transferieren Sie die vorhandenen Felder und sonstigen Inhalte über die Zwischenablage, löschen Sie die original Teilmaske und bennen Sie die neue Teilmaske mit dem zuvor verwendeten Namen um.
Notes/Domino Version: ab 4.x