Domino 9 und frühere Versionen > ND8: Entwicklung

session.getDatabase

(1/2) > >>

CarstenB:
Moin zusammen,
ich habe folgendes Problem: Im Querysave wird auf eine andere DB zugegriffen. Das Objekt wird über session.getDatabase erstellt. Ein Kollege hat keine Zugriffsrechte auf diese DB und es kommt zur Fehlermeldung:

   Benutzer xxx kann Datenbank yyy nicht öffnen

Laut Hilfe sollte eigentlich eine Database Objekt zurückkommen
   If the database cannot be opened and createonfail is True or omitted, IsOpen is false for the NotesDatabase object.
aber der Fehler passiert direkt bei Session.getDatabase. Ich hätte erwartet, das ich ein database Objekt zurückbekomme, wo ich dann im Anschluss per isopen überprüfen kann, ob tatsächlich Zugriffsrechte vorhanden sind

Was läuft falsch?
Vielen Dank im Voraus
Carsten

Thomas Schulte:
Nix, das läuft tatsächlich so ab. Du musst also den Fehler direkt im Error Handling abfangen.

CarstenB:
Danke, Thomas, für die schnelle Antwort.
Ich hatte auch schon versucht, ob sich db = New NotesDatabase anders verhält, aber da besteht das gleiche Problem

Dann ist aber die Notes-Hilfe falsch oder unverständlich.

marschul:
Vielleicht einen Versuch wert (ohne jetzt getestet zu haben, wie sich das bei fehlendem Zugriff verhält):


--- Code: ---Dim oSourceDB As New NotesDatabase("", "")
If Not oSourceDB.Open(server, filepath) Then
 eigene Fehlermeldung
Else
 ...
End If
--- Ende Code ---

Christian Weiß:
Ich glaube das Notes hier so etwas wie eine Dummy-Datenbank erstellt.
Diese Beobachtung haben wir zumindest bei uns in der Firma gemacht.
Wir machen es jetzt so, dass wir dann immer abfragen, ob die Datenbank einen Titel hat.
Wenn nicht, dann wissen wir, dass die zurückgegebene Datenbank keine richtige Datenbank ist und können dann entsprechend darauf reagieren.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln