Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gravedigger am 10.02.04 - 09:09:58
-
Guten Morgen,
wie kann man ein Feld löschen, welches die Größe von 32k überschritten hat?
Danke für eure Antworten.
-
... mit einem Agent
FIELD Feldname := @DeleteField
ata
-
Geht leider nicht. :-\
Fehlermeldung: "Field is too large"
-
... wann bekommst du diese Meldung? Bist du noch im geöffneten Dokument?
ata
-
Ich hake das Dokument in einer View an und führe den Agenten aus.
Das Dok lässt sich nichtmal öffnen.
-
Probier es mal mit Script:
dim session as New NotesSession
dim db as NotesDatabase
set db = session.CurrentDatabase
dim dc as NotesDocumentCollection
set dc = db.UnprocessedDocuments
dim doc as NotesDocument
set doc = dc.GetFirstDocument
call doc.RemoveItem("Feldname")
call doc.Save(true,true,true)
Das ganze in einem Agent,der über gewählte Dokumente läuft.
Andreas
-
Geht leider auch nicht. :-[
-
Problem gelöst.
Lösung:
>>>START<<<
Try
load compact -c -i -D {filepath}
This compacts with
-c = copy
-i = ignore errors
-D = delete view indexes
>>>ENDE<<<
-
Du kannst Du per Script ein neues Dokument erstellen und aus dem fehlerhaften alle Felder - bis auf das defekte - kopieren.
In etwa so:
dim session as New NotesSession
dim db as NotesDatabase
set db = session.CurrentDatabase
dim dc as NotesDocumentCollection
set dc = db.UnprocessedDocuments
dim doc as NotesDocument
set doc = dc.GetFirstDocument
dim newdoc as NotesDocument
set newdoc = db.CreateDocument
'Setze Felder
newdoc.Form = doc.Form(0)
newdoc.Feld1 = doc.Feld1
newdoc.Feld2 = doc.Feld2
.. ... ... hier dann alle Felder ...
call newdoc.Save(true,true,true)
Andreas
Ergänzung: Ich habe leider Deine Lösung zu spät gesehen...
Was hat denn der compact mit dem Dokument / Feld gemacht ?
-
Ich sags mal ganz laienhaft: "Er hat die Felder wieder klein gemacht."