Domino 9 und frühere Versionen > ND6: Administration & Userprobleme

Problem mit $UpdatedBy Feld - übergelaufen?

(1/4) > >>

chrisgruebl:
Servus

Ich habe hier einen Domino 6.5.1IF1 Server und bei einer DB ist offenbar das $UpdatedBy Feld 'übergelaufen' und spielt jetzt verrückt (beim Replizieren werden offenbar unendlich viele 64kb Dateien beim 'Empfangenden' angelegt (*.DTF im Temp)), vermutlich weil das $UpdatedBy Feld 'verstümmelt' ist (sonderzeichen etc.) - Die defekten Einträge sind in der Empfangenden DB nicht enthalten - werden gesendet, können nicht eingetragen werden, werden gesendet... bis die Platte voll ist ;-(

Wie kann ich das wieder bereinigen? Ich hätte 'Einträge in $UpdatedBy Feldern begrenzen schon auf 2 beschränkt, hilft jedoch leider nichts.... Die alten vielen Einträge bleiben trotzdem drinnen...

Kann man das irgendwie manuell löschen (kann ruhig vorläufig alles weg sein in dem Feld)?

cu
Chris

Semeaphoros:
Kannst Du das Dokument denn sonst noch öffnen? Du kannst einen Agenten erstellen, der das Feld löscht: Formelagent mit folgendem Inhalt:

FIELD $UpdatedBy := @DeleteField

Könnte allerdings sein, dass er da - weils ein Systemfeld ist - das nicht so gerne hat. Dann würde wohl nur noch LotusScript helfen.

chrisgruebl:
Servus

>Kannst Du das Dokument denn sonst noch öffnen?

Ja, man kann offenbar ohne Probleme mit der DB und auch den betroffenen Dokumenten arbeiten, jedoch eben nicht mehr replizieren...

> Du kannst einen Agenten erstellen, der das Feld löscht: Formelagent mit folgendem Inhalt:

Danke für den Tipp, klappt jedoch leider nicht, die $* Felder stehen irgendwie nicht als Datenbankfelder zur Verfügung um damit was zu machen. Andere Felder löscht er brav...

cu
Chris

Semeaphoros:
Versuchs mit einem LS-Agenten, der auf die markierten Dokumente losgeht:

Option Declare

dim S as New NotesSession
dim dbThis As NotesDatabase
dim colThis As NotesDcoumentCollection
dim docThis As NotesDocument

set dbThis = s.CurrentDatabase
set colThis = dbThis.UnprocessedDocuments

if colThis.Count > 0 then
  set docThis = colThis.GetFirstDocument
  call docThis.RemoveItem ("$UpdatedBy")
  cal docThis.Save(True,True)
end if


Vorbehalt: hab das nicht ausprobiert.

Variante, wenn auch das nix nützt, versuchs mit

  call docThis.ReplaceItemValue("$UpdatedBy","")

anstatt von RemoveItem

chrisgruebl:
Servus

> Variante, wenn auch das nix nützt, versuchs mit
>  call docThis.ReplaceItemValue("$UpdatedBy","")
> anstatt von RemoveItem

Tnx, hilft aber leider auch nicht :-(

Beides probiert, läuft fehlerfrei durch und ändert aber auch nichts...

Protokoll:
Agent 'test1' wurde am 27.12.2004 11:10:58 gestartet
Bearbeitet ausgewählte Dokumente: insgesamt 1
1 Dokumente gefunden, die die Suchkriterien erfüllen
LotusScript Code ausgeführt
Agent 'test1' wurde am 27.12.2004 11:10:58 beendet

Kopieren etc. hilft ja auch alles nichts da ja das Feld befüllt bleibt...

Oder kann man vielleicht irgendwie beim replizieren verbieten das er das Feld repliziert (vermutlich nicht) oder einen Zähler verwenden, sprich es darf nur 1 mal versucht werden das zu senden oder etwas ähnliches?

cu
Chris

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln