Domino 9 und frühere Versionen > ND7: Entwicklung

@DbName gibt kein Server zurück...

(1/2) > >>

Raymond:
Hallo zusammen

ich debugge gerade eine Web-Applikation. Dort wurde @subset(@dbname;1) verwendet um den Servernamen zu erhalten und basierend auf diesem Wert geschehen Lookups in andere Datenbanke etc. Also Notes Standard.

Plötzlich funktionierten die Lookups nicht mehr und siehe da, beim Debuggen bemerkte ich, dass das Feld Server nicht berechnet wurde, beziehungsweise "@Subset(@DbName;1)" keinen Rückgabewert hatte. Wie gesagt, ich bin nicht Lokal, dies ist ein produktiver Lotus Domino Server Version 7  ???

Hat jemand von euch sowas schon gesehen bzw. eine Idee, was die Ursache sein könnte?

Besten Dank für alle Tipps

Gruss
Ray

spamSTOP:
versuch mal @Servername

Gibt den Namen des Servers zurück, auf dem sich die aktuelle Datenbank befindet. Wenn die Datenbank lokal ist, wird der Benutzername zurückgegeben.
Hinweis  Diese @Funktion gibt es ab Version 6.

Raymond:
Danke, natürlich könnte ich den ganzen Code umschreiben. Das wäre aber wohl mehr Sympthombekämpfung. Ich würde aber gerne die Ursache finden. Der anhin eingesetzte Code hat während mehreren Jahren einwandfrei funktioniert. Ich möchte rausfinden, warum @Servername plötzlich den Servernamen-Teil nicht mehr zurückgibt...

Vielleicht hat sonst noch jemand die gleiche Erfahrung gemacht.

Gruss
Ray

flaite:
Falls ich mich recht erinnere, gibt @dbName für den ersten Wert der Ergebnisliste nie etwas zurück. (Kann mich irren).
Hiess diese seit Notes4 in der Webentwicklung sehr gebräuchliche Formel zur Generierung von nicht-hart-kodierten URLs nicht:

--- Code: ---@Subset(@DbName;-1);

--- Ende Code ---
(das -1 ist wichtig). Das funktioniert auch. Eben ausprobiert. Guck besser noch mal bei den Formeln nach, die schon vorher in der Datenbank funktioniert haben. Vielleicht hast du einfach das - übersehen.
Oder noch besser:

--- Code: ---@ReplaceSubstring(@Subset(@dbName;-1); "\\";"/");

--- Ende Code ---

Raymond:
Danke für die Antort. Klar, um den Server unabhängig den Db-Pfad zu erhalten, kann man deinen Code verwenden.

Gemäss Help sollte @DbName aber wirklich zwei Werte zurückgeben.


--- Zitat ---Syntax
@DbName
Return value
server ; path
Text list with two elements

--- Ende Zitat ---



--- Code: ---@Subset(@DbName;-1);

--- Ende Code ---
gibt den Pfad zurück


--- Code: ---@Subset(@DbName;1);

--- Ende Code ---
sollte den Servernamen zurückgeben, und genau das funktioniert nicht mehr.


Als Workaround verwende ich jetzt

--- Code: ---@ReplaceSubstring( @UpperCase(@Name([Abbreviate]; @ServerName));"\\"; "/" )

--- Ende Code ---

Gruss
Ray

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln