Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit Kombinationsfeld: Datenbanksuche > 65.000 Byte

<< < (3/4) > >>

Glombi:

--- Zitat von: HH am 05.04.06 - 16:38:58 ---@Bernhard

Tut zwar nichts mehr zur Sache, aber ich hab das gerade noch mal getestet - mit und ohne Kategorisierung.

Bei gleicher Anzahl Dokument kommt bei Kategorisierung kein Fehler.

Hubert

--- Ende Zitat ---
Sonst wäre ja auch irgendwas mit dem View Index intern so designed, dass ich es nicht verstehe...

koehlerbv:
Es kann gut sein, dass ich da gerade eine üble Wissenslücke stopfe bzw. gestopft bekomme. Nur: Kann das jemand sicher bestätigen?

Aber abgesehen davon: Bei grossen Ansichten lebt man als Entwickler immer mit der Gefahr, dass irgendwann auch die reduzierte (Rückgabe-)Datenmenge wieder am Limit kratzt. Und 64 kB sind ja sooo viel nun nicht. Ich präferiere da die grundsätzliche Lösung.

Bernhard

Tode:
erst mal:
- eine Kategorisierte Ansicht liefert im @DBColumn tatsächlich weniger zurück als eine sortierte
ABER:
Seit R6 spielt das keine Rolle mehr, denn es ist so:
Der DBLookup / DBColumn kann seit R6 MEHR als die 64k zurückliefern, die Grenze existiert nicht mehr.

Warum kommt dann noch die Fehlermeldung, werdet Ihr Euch fragen. In dem Moment wo man mit diesem Ergebnis weiterarbeiten möchte (es also in eine Variable schreibt), kommt man wieder an das Limit, den Variablen haben (genau wie Felder) dieses Limit noch.

ERGO:

Datenmenge[ @Unique( @DBColumn( nichtKategorisierteAnsicht ) ) ] = Datenmenge[ @DBColumn( kategorisierteAnsicht ) ] >>> führt erst dann zu einem >64k Fehler, wenn man dieses Ergebnis einer Variablen zuweist...

Kann man die Datenmenge vorher der Variablen- Zuweisung noch weiter reduzieren, dann kommt der Fehler nicht (in den meisten Fällen geht das aber nicht, weil man ja schon die Spalte so aufgebaut hat, dass sie nur die Werte enthält, die man will).

Trotzdem ein Beispiel:

nehmen wir an, ich habe eine "universelle" Lookup- Ansicht, die so aufgebaut ist:

Vorname~Tido
Vorname~Trude
Vorname~Hans
Nachname~Test
Nachname~Muster
Nachname~Wurst

auch wenn der @DBColumn nun ein Ergebnis >64k zurückliefert, dann KÖNNTE das funktionieren:

Vornamen := @Right( @DBColumn( ... ) ; "Vorname~" )

wenn die Summe der Vornamen wiederum WENIGER als 64k Daten enthält....

Aber als Antwort auf die ursprüngliche Frage kann es nur die "Picklist" geben, denn selbst wenn die Datenmenge temporär so reduziert werden kann, dass die Fehlermeldung nicht mehr kommt, zeigt die Erfahrung, dass in Kürze die Datenmenge wieder so angewachsen ist, dass man wieder an die Grenze stösst.

HTH
Tode


Untitled:
Ich kann mir auch nicht vorstellen, dass eine Combobox mit so viel Einträgen besonders Benutzerfreundlich ist. Ich denke, die sollte man bis maximal 100 Zeilen verwenden. Anschliessend wird das Scrollen und "bei-klick-daneben-position-verlier" sowieso zu umständlich.

Moritz

semtex:
Hallo,

ich versuche gerade die Lösung wie oben empfohlen mit der Picklist umzusetzen.
Dabei benutze ich die LS-Funktion PickListCollection().

Allerdings erwartet diese Funktion als Parameter den Server. Den kann ich ja eigentlich dynamisch mit db.server auslesen.
Was passiert nun aber, wenn ich mit einer lokalen Replik meiner DB arbeite? Dann gibt mir db.server einen Leerstring zurück und entsprechend die LS-Funktion PickListCollection() einen Fehler. Kann ich PickListCollection() lokal gar nicht verwenden?

Wie immer schon mal vielen vielen Dank!

Gruß semtex

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln