Domino 9 und frühere Versionen > ND8: Entwicklung - XPages
Problem bei DbLookup/DbColumn auf anderen Server
Driri:
Hallo,
ich habe eine XPage, die via DbColumn und via DbLookup Werte aus einer View in einer Datenbank auf einem anderen Dominoserver auslesen soll.
Z.B. so :
--- Code: ---db = new Array('server','path\\db.nsf');
var keys = @Unique(@DbColumn(db,'view', 1));
if (!keys)
{
return 'no result';
}
else
{
return keys;
}
--- Ende Code ---
Wenn ich die XPage mit meinem User (Manager) aufrufe, werden die Werte korrekt ausgelesen.
Melde ich mich jetzt aber mit einem anderen User (getestet mit Leser, Autor, Editor, Manager) an, ist keys leer. D.h. der DbColum liefert keinen Wert zurück.
Der Testuser kann die zugrundeliegende View problemlos öffnen (im Browser getestet).
Ich habe auch mal ausprobiert, eine Datenbankeigenschaft auszulesen :
--- Code: ---var db:NotesDatabase = session.getDatabase('server','path\\db.nsf');
return db.getTitle();
--- Ende Code ---
Mit meinem User bekomme ich den korrekten Wert zurück, mit dem Testuser bekomme ich Null.
domlog.nsf und log.nsf der beteiligten Server liefern mir leider auch keinen Hinweis, was da schiefgeht.
Hat jemand einen Tipp ? Das sieht für mich wie ein Berechtigungsproblem aus, ich weiß aber nicht wo ich danach suchen soll.
heini_schwammerl:
Hallo Ingo,
hast Du schon einmal die Backslashe gegen / (ForwardSlash) getauscht. Ich meine 8.5.2 hätte in diesem Zusammenhang einen Bug.
Gruß
Henning
Driri:
Ja, das hatte ich schon getestet, sorry.
Macht leider keinen Unterschied und hätte mich vermutlich vollends um den Verstand gebracht, weil es ja bei einem User funktioniert und beim anderen nicht ;)
Trotzdem danke für den Tipp.
Driri:
Was ich gerade noch getestet habe :
Wenn ich die XPage 1:1 in die Datenbank kopiere, auf die der DbLookup/DbColumn zielt, funktioniert es bei allen Usern.
heini_schwammerl:
Hallo Ingo,
dann spare ich mir den Tipp statt server mal @DbName()[0] zu probieren. Das hast Du sicher auch schon überprüft.
Um zu überprüfen ob es ein Berechtigungsproblem ist könntest Du die zweite Abfrage mal als sessionAsSigner.getDatabase laufen lassen.
Gruß
Henning
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln