Domino 9 und frühere Versionen > ND8: Entwicklung
Unterschied session.GetDatabase() und db.Open()
DatenDuck:
Hallo Leute,
eine kurze Frage an die Erfahrenen.
Was ist der Unterschied, bzw. die Vor- und Nachteile zwischen der NotesSession.GetDatabase() und der NotesDatabase.Open() Methode (zum reinen Öffnen einer DB)?
Gibt es Fälle in denen die eine oder die andere Methode sinnvoller ist?
Aus meiner Sicht führt doch beides zum gleichen Ziel, oder?
Vielen Dank schon mal!
Bis dann,
-Moritz
Klafu:
Ja, es gibt einen Unterschied, Moritz.
NotesDatabase.Open öffnet eine Datenbank
NotesSession.GetDatabase repräsentiert ein Datenbank Objekt (Öffnet es nicht)
Genauere Infos gibts auch in der Designer-Hilfe ;)
Chris
DatenDuck:
Hallo Chris,
ok, das war fehlende Information meinerseits...
Dein genannter Unterschied ist mir schon bewusst.
Es ging mir letztendlich blos ums Öffnen der DBs
Gemäß meiner Vermutungen bestehen da lediglich Unterschiede beim Coding, nicht aber bei der letztendlichen Funktionalität, oder?
Coding ist ein mal:
--- Code: ---Dim session as New NotesSession
Dim db As NotesDatabase
Set db = session.GetDatabase("Server", "Pfad", false)
--- Ende Code ---
und ein anderes Mal
--- Code: ---Dim db As New NotesDatabase("", "")
Call db.Open("Server", "Pfad")
--- Ende Code ---
aber Open ist die DB danach in beiden Fällen identisch, oder?
Da ich hier unsicher bin und ausschließen möchte, dass eine der beiden Methoden dann in bestimmten (Sonder-)Fällen "Besonderheiten" verursacht, habe ich diese Frage gestellt.
Ich hatte mir erhofft, dass (wenn es denn tatsächlich der Fall sein sollte) einer der zahlreichen Notes Gurus hier antwortet a la "Bedenke, dass bei db.Open() im Falle von x, die Property y nicht gesetzt ist, daher empfehle ich Dir nimm lieber "getDatabase"".
Schöner wäre natürlich ein "Ich arbeite schon seit Jahren mit beiden Methoden und mir sind noch keine Probleme untergekommen" :-)
Bis dann,
-Moritz
Peter Klett:
Ich verwende immer
Dim db As New NotesDatabase (Server, Dateiname)
oder, falls ich db vorher schon deklariert hatte
Set db = New NotesDatabase (Server, Dateiname)
da hat mir noch nie eine Property gefehlt
koehlerbv:
Da wir gerade lustig beim Austauschen zum DB-Zugriff sind: Ich meide Server / Dateiname wie der Teufel das Weihwasser und arbeite mit der ReplicaID - da ist dann niemand von meinem Coding abhängig.
In der Regel wird der Server aus dem aktuellen Kontext ermittelt, die ReplicaID ermitteln die Admins im Setup via Datei-Datenbank-Öffnen-Aktion.
Variante 4 (OpenByReplicaID) hat ebenso keine Nachteile wie die anderen Verfahren.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln