Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fritandr am 29.06.05 - 10:23:39

Titel: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: fritandr am 29.06.05 - 10:23:39
Hallo,

ich möchte gerne beim Öffnen einer Notes-DB feststellen ob Sie im Notes\Data-Verzeichnis liegt, oder nicht.
Abhängig davon, ob die DB im Data-Verzeichnis liegt, oder nicht, soll eine bestimmte Aktion erfolgen.

Dabei sollen aber auch solche Dateien als Korrekt angesehen werden, die über einen Verzeichnislink (Directory Link, DIRLink) in das Notes\Data-Verzeichnis eingebunden sind.

Es genügt mir also nicht, den Windows Registrywert unter ...\DataPath zu ermitteln und mit dem tatsächlichen Datenbankpfad zu vergleichen.

Hat jemand eine Idee, wie ich das realisieren kann?

Viele Grüße
Andreas
Titel: Re: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: diali am 29.06.05 - 10:30:52
nur Idee - ungeprüft:
Du könntest mit NotesDatabase.FilePath den Pfad ermitteln. Steht an der ersten Stelle ein Laufwerksbuchstabe, ist die DB nicht im Data-Verz.. DBs über einen Link sollten ausgehend vom Data-Verz. den Pfad zurückgeben.
Titel: Re: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: Semeaphoros am 29.06.05 - 10:41:26
.... oder die Rep-ID nehmen und einen DB.OpenByRepID (oder so ähnlich) absetzen, der sollte nur funktionieren, wenn die DB im Datenpfad von Notes irgendwie verfügbar ist. Ist aber auch nicht getestet.
Titel: Re: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: koehlerbv am 29.06.05 - 10:50:59
NotesDatabase.OpenByReplicaID heisst die Methode korrekt - und ich kann die Funktionalität bestätigen: Brauchbar für Andreas' Vorhaben.

Bernhard
Titel: Re: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: fritandr am 29.06.05 - 11:18:59
Danke für die Hinweise,

ich werde das mal testen und dann Bescheid geben, ob und ggf. wie es funktioniert hat.

Mehr dazu kommt vorausichtlich aber frühestens morgen.
Ich hatte nicht mit einer so schnellen Antwort von Euch gerechnet  ;D

Danke
Andreas
Titel: Re: liegt meine DB im Notes\Data-Verzeichnis?
Beitrag von: fritandr am 30.06.05 - 12:36:03
Hallo,

nochmals Danke für den Hinweis auf die richtige Fährte.

Ich habe jetzt im Prinzip folgenden Code im Postopen meines Database Scripts.

Code
Sub Postopen(Source As Notesuidatabase)
	Dim session As New NotesSession
	Dim db As New NotesDatabase( "", "" )
	Dim dborg As NotesDatabase
	Set dborg = session.CurrentDatabase
	
	If db.OpenByReplicaID( dborg.Server, dborg.ReplicaID ) Then
		Msgbox db.Title & " wurde geöffnet", 64, "ReplikID o.k."
	Else
		Msgbox "DB kann nicht geöffnet werden", 64, "ReplikID falsch"
	End If
End Sub

Das funktioniert genau so, wie ich mir das vorgestellt hatte.

Viele Grüße
Andreas