Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: exratt am 15.12.06 - 12:31:00

Titel: 'Server access denied' bei getFirstDatabase
Beitrag von: exratt am 15.12.06 - 12:31:00
Hallihallo. Ich habe heute auf einem anderen Windows2003Server-System die Entwicklungs-Version von Lotus Domino 7 installiert und erstmal versucht, meine bestehenden Programme zum Laufen zu kriegen (die früher funktionierten). Ich kann auch auf Datenbanken direkt zugreifen, aber wenn ich die Funktion getFirstDatabase in einem DbDirectory aufrufe, bekomme ich eine Fehlermeldung:
Code
...
		DbDirectory dir = null;
		try
		{
			dir = session.getDbDirectory( null );
			Database db = dir.getFirstDatabase( DbDirectory.DATABASE );
...
Code
NotesException: Server access denied
	at lotus.domino.NotesExceptionHelper.read(Unknown Source)
	at lotus.domino.NotesExceptionHolder._read(Unknown Source)
	at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
	at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
	at lotus.domino.corba._IDbDirectoryStub.getFirstDatabase(Unknown Source)
	at lotus.domino.cso.DbDirectory.getFirstDatabase(Unknown Source)
...

Ich habe dem Account, mit dem ich auf den Server zugreifen, jetzt auch schon alle erdenklichen Rechte gegeben, aber an der Situation ändert sich nix - ich steh grad echt auf dem Schlauch. Überseh ich irgendeine Einstellung, die ich vor zwei Monaten im damaligen Server drin hatte? Das Programm zumindest ist das selbe (von den Zugangsdaten abgesehen)...
Titel: Re: 'Server access denied' bei getFirstDatabase
Beitrag von: flaite am 15.12.06 - 21:02:59
Überseh ich irgendeine Einstellung, die ich vor zwei Monaten im damaligen Server drin hatte?
Ja. Schau auf die Serverkonsole oder zeitlich etwas verzögert in die log.nsf.
Das Programm benutzt vermutlich einen anderen Notes-User als du denkst.
Sollte aber auf der Konsole stehen.
Ansonsten bekommst du den Usernamen irgendwie über das Session Objekt raus.

Gruß Axel
Titel: Re: 'Server access denied' bei getFirstDatabase
Beitrag von: koehlerbv am 15.12.06 - 22:38:17
Ab gesehen davon: Die NotesDatabase classs grast mit den von Dir benutzten Methoden tatsächlich jede NSF ab. Und wenn man da bei der Installation nur etwas daneben gehauen hat, ist dann tatsächlich auch eine DB dabei, auf die man keinen Zugriff hat (wohl aber der Server). Gehe notfalls einfach mal die DBs durch (Achtung - nicht jede ist im Catalog gelistet oder wird über File-Open-Database angezeigt!).

Bei mir war es letztens die BUSYTIME.NSF, die ich übersehen hatte ...

Bernhard
Titel: Re: 'Server access denied' bei getFirstDatabase
Beitrag von: exratt am 18.12.06 - 15:33:21
im log steht leider kein username - in den session-daten wird mir allerdings der richtige angezeigt. da ich auch nur ein kleines testprogramm habe, in dem ich den namen kurz vor der initialisierung der session deklariere, sollte das auch passen.

ich habe mal spaßeshalber alle datenbanken versucht manuell zu öffnen, die mir so im data-verzeichnis (und evtl unterverzeichnissen) über den weg gelaufen sind - auf jeder hatte ich mindestens lesenden zugriff, auf vielen auch schreibenden, wie es sein sollte als admin.

und sollte getFirstDatabase() & co. die datenbanken, auf die man keinen zugriff hat, nicht trotzdem erstmal zurückgeben? erst das open() schlägt dann doch fehl, aber zumindest den namen kann man sich im allgemeinen dennoch geben lassen. in meinem fall komme ich aber noch nichtmal dahin - vielleicht ist ja was mit dem directory-objekt? muss ich wohl nochmal drüber nachdenken. zum glück ist das jetzt nicht soo wichtig, da das "nur" nochmal ein kleiner test sein sollte und ich noch andere sachen machen kann, wenn ich da nicht vorran komme - aber ich hoffe mal noch auf eine inspirierende idee, denn mir gefällt es nicht, wenn ein solches problem ungeklärt bleibt :D viel dank übrigens für die hilfe :)
Titel: Re: 'Server access denied' bei getFirstDatabase
Beitrag von: exratt am 21.12.06 - 12:12:19
problem gelöst. es gibt ne einstellung unter internet protocols - http, die da lautet "allow http clients to browse databases" - nachdem ich das von false auf true gesetzt hatte, funktionierte es. da ich dachte, mein diiop-zugriff hat nix mit http zu tun, hab ich bisher auch nicht da reingesehen :D jaja, das kommt davon...