Autor Thema: Fehler Nummer: 4078 - Fehler Nachricht: Could not create field %1  (Gelesen 3243 mal)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Hallo Liebe LoNo- Gemeinde,

in einem periodischen Agenten erhalte ich den Fehler: „Could not create field %1“. Wie es scheint hat mein Script eine bestimmte Grenze überschritten.  :o

Bei IBM habe ich den Hinweise gefunden, dass der Fehler auftritt, wenn Textfeld 64K überschreitet (siehe 1, 2). Und vielleicht für alle Interessant ist die folgende Tabelle mit vielen Angaben zu LoNo-Limits in den Versionen 6, 7 und 8.

Ok, zurück zum eigentlichen Problem. In dem Agent werden relativ umfangreiche Auswertungen berechnet. Leider habe ich in meinem jugendlichen Leichtsinn eine falsche Vorgehensweise gewählt. Ich lade zunächst alle Auswertungsdaten (momentan 4000 Dokumente --> wächst ständig) und halte diese während der gesamten Laufzeit des Agenten im Speicher.  :'(

Zurzeit arbeite ich an einer neuen Version, die den Speicher nicht unnötig überlastet. Da ich damit aber noch nicht fertig bin, aber die Auswertungen benötigt werden, stelle ich mir die Frage, ob man durch eine Server-Konfiguration das Problem vorübergehend lösen kann?

Oder hilft da einfach gar nichts mehr?  :-:

Achso eins noch. Wenn ich den Agenten manuell auf dem Client starte, dann läuft er ohne Fehlermeldung durch.

Grüße

Fabian
Gruß

Fabian

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... ohne zu sehen, wie du die Dokumente im Speicher hälst, ist da nicht viel zu sagen. Zudem hat eine DB per Voreistellung nur für etwa 3000 Feldnamen in einer DB Platz - ansonsten muß der Haken in den Datenbankeigenschaften gesetzt sein =>Allowe more fields...

Ein Array kann maximal über den Integer-Bereich gehen

Mit List kann man zwar Notesobjekte halten, aber dann crasht der Server, wenn es über eine bestimmte Anzahl geht...

Ansonsten sind 4000 Dokumente durchaus handlebar - in einer Collection habe ich manchmal 100.000 und mehr Dokumente...

Also mit etwas mehr Details kannst du eventuell auf eine konkretere Antwort hoffen...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Ohne Code und der genauen Angabe der Zeile, in der es scheppert, kann man da gar nichts sagen. Deine bisherigen Vermutungen halte ich für falsch bzw. sie gehen in die falsche Richtung.

Mehr Input, mehr Output.

Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Zitat
Could not create field %1

... ich hatte den Fehler auch mal in Version 6.x - bin am forsten - da gab es einen Zusammenhang mit der Anzahl der Felder in der DB - wenn ich mich noch recht entsinne...

An den Array's liegt es nicht, da kommen andere Fehlermeldungen, daß weiß ich - war eigentlich nur als Hinweis auf Grenzen gedacht, ebenso die List-Objekte - auch da kommen andere Fehlermeldungen - war schlecht formuliert von mir - liegt auf jeden Fall nicht daran...

Toni
Grüßle Toni :)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... stutzig macht mich...

Zitat
Wenn ich den Agenten manuell auf dem Client starte, dann läuft er ohne Fehlermeldung durch.

Wäre es die Feldgröße (Text-Inhalt eines Richtext-Feldes in ein Textfeld übertragen), dann gibt es da keine Unterschiede. Aber wie bereits gesagt - konkreter Code und wo genau kommt ide Fehlermeldung...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Exakt das macht mich auch stutzig, Toni. Und eigentlich ist das eine typische Frontend-Meldung (auch Lotus spricht im Backend nicht von "Feld").

Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... warten wir es ab - kommt Code - kommt Erkenntnis  ;)

Toni
Grüßle Toni :)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Erstmal vielen Dank für Eure Antworten.

Also die Fehlermeldung kam nicht in meinem ErrorHandling, sondern die habe ich im Log der verschiedenen Ereignisse des Servers entdeckt.

Ich habe die Fehler bis zu der Zeile im Code verfolgt:

Code
doc.Form = "MeineMaske"

Habe diese Zeile mit der folgenden ersetzt...

Code
doc.ReplaceItemValue("Form", "MeineMaske")

Anschließen bekam ich diese Fehlermeldung in der gleichen Zeile:


4000 Fehler Nachricht: Notes error: Maximum number of memory segments that Notes can support has been exceeded


Also doch ein Speicherproblem. Das hat man davon wenn man nicht richtig mit Objekten und Listen umgehen kann.   :-[
Gruß

Fabian

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... hälst du du Listen mit NotesObjekten etwa in der Art => Dim docs List As NotesDocument

Toni
Grüßle Toni :)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Nee, ehr so:

Code
Dim MyObjList List as MyObject
Gruß

Fabian

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... und genau hier liegt die Ursache deines Problemes - mit List lässt sich zwar alles initialisieren, aber mit Klassenobjekten platzt es ab einer bestimmten Größe an Objekten - und zwar nicht innerhalb der Session oder des Workspaces, sondern deren Gesamtzahl auf dem Server, die gleichzeitig verwendet werden. Du wirst hier auf eine andere Methode ausweichen müssen...

Die Grenze kann ich dir ggf. noch nachmelden...  ;)

Toni

*** edit ***
Die Grenze liegt bei 13.452

Toni  ;D
« Letzte Änderung: 28.01.08 - 13:38:52 von ata »
Grüßle Toni :)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Danke für deine Hilfe, Toni.  ;) Hätte ich das nur früher gewusst, dann wäre mir ein Haufen arbeit erspart geblieben.

Welche Methode würdest du vorschlagen? Ich wollte es jetzt mit NotesDocumentCollection's probieren. Soweit mir bekannt ist haben die keine Grenze (bzw. solange der Arbeitsspeicher reicht).
Gruß

Fabian

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... damit bist du auf jeden Fall auf der besseren Seite...

Den Hinweis habe ich dir übrigens schon in meinem ersten Posting bereits gegeben =>
Zitat
Mit List kann man zwar Notesobjekte halten, aber dann crasht der Server, wenn es über eine bestimmte Anzahl geht...

Toni
Grüßle Toni :)

Offline Skorpi

  • Junior Mitglied
  • **
  • Beiträge: 79
  • Geschlecht: Männlich
Jupps, mit früher meinte ich vor 3 Monaten ;)

--> please close this thread
Gruß

Fabian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz