Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Diana82 am 18.10.06 - 11:26:23

Titel: Alle DB auf Server anzeigen
Beitrag von: Diana82 am 18.10.06 - 11:26:23
Hallo,
ich stehe im moment auf dem Schlauch...
Ich möchte mir in einem Auswahlwahlfeld alle vorhandenen Datenbanken auf dem Server anzeigen lassen. Ist das irgendwie möglich? Hat das schon mal jemand gemacht?
Also ich habe 2 verschiedene Server auf denen die DBs liegen. Aber wenn ich das mal für einen hätte wär ich ja schon weiter.  ;)
Wär super wenn mir da jemand weiterhelfen könnte. Mit noch ein Skript-Neuling...

Gruß
Diana
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: 0xse am 18.10.06 - 11:33:38
Es gibt auf jedem Server eine Catalog Datenbank. Darin eine Ansicht in der die Datenbanken gelistet sind.

Einfach eine @DBColumn funktion die sich die Liste aus dem Catalog von Server 1 holt und dann die Liste aus dem Catalog von Server 2. Die beiden Addieren und du hast deine ganze Liste an Datenbanken.
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: HH am 18.10.06 - 12:14:01
NotesDbDirectory class könnte helfen.

Im Catalog sind nicht zwangsläufig alle Datenbanken enthalten.
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: 0xse am 18.10.06 - 12:26:52
Welche denn nicht? o.O
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: botschi am 18.10.06 - 12:35:04
Eigenschaften Datenbank, 4. Reiter, 2. Haken
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Diana82 am 18.10.06 - 12:40:49
danke mal für eure Hilfe...werde es mal ausprobieren.
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Glombi am 18.10.06 - 12:47:19
Im catalog sind ALLE Datenbanken drin, nur werden die in der Ansicht nicht unbedingt angezeigt. Daher kann man eine neue Ansicht anzeigen, die alle Katalogeinträge anzeigt.

Die Standardzugriffsformel
SELECT  @IsAvailable(ReplicaID)& @IsUnavailable(RepositoryType)& !(DBListInCatalog = "0")

muss geändert werden in:
SELECT  @IsAvailable(ReplicaID)& @IsUnavailable(RepositoryType)

Das "DBListInCatalog" wird auf "0" gesetzt, wenn in den Datenbankeigenschaften "Im Katalog auflisten" deaktiviert ist.


Andreas
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: botschi am 18.10.06 - 12:57:04
Ja, man sollte es dann auch fachlich korrekt wiedergeben.

In jedem steckt ja auch ein Genie, wenn man nur die Formel umstellt...  ;D
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Tode am 18.10.06 - 13:07:25
Ähhm... und wie wäre es -vollkommen ohne weitere Programmierung- mit @Prompt( [ChooseDatabase] ) ???

nur mal so in den Raum geworfen...

Aber klar: man kann das auch von hinten durch die Brust ins Auge programmieren...

Tode
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Glombi am 18.10.06 - 14:38:25
Wo wir schon dabei sind: Wie war nochmal die Formel, um nur ein VERZEICHNIS auf dem Server zu wählen  ;D
das suche ich immer noch ....

Andreas
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Diana82 am 18.10.06 - 14:39:17
das @prompt nützt mir nichts. Ich habe das ziel nachher ne Ansicht zu basteln in der alle DB aufgelistet sind mit Berechtigungen etc.  ::)
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Glombi am 18.10.06 - 14:41:06
Warum nimmst Du dann nicht den Katalog? Da steht doch schon alles drin.

Andreas
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Diana82 am 18.10.06 - 14:47:13
ja da steht aber zu viel drin. Ich möcht nicht die ganzen Mail-Files...haben. Hab jetzt im Catalog ne neue Ansicht gemacht auf die ich Zugreif und die Daten auslese. Also so sollte es sein, momentan funktionierts noch nicht  ???
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Tode am 18.10.06 - 16:01:12
Und warum machst Du dir dann nicht in der Catalog eine Ansicht, die nur die Daten enthält, die Du sehen möchtest ? ggf. auch noch mit einer eigenen Maske und Form- Formula in der Ansicht...

Von doppelt und dreifach gehaltenen Daten halte ich nichts, zumal ja der catalog- Task diese Liste jede Nacht aktualisiert, und Du sicherlich auch alle Daten aktuall haben willst, also diese immer wieder aktualisieren müsstest...

Ich werd das Gefühl nicht los, dass Du gar nicht weisst, was Du eigentlich willst.... bzw. dass Du nicht wirklich Ahnung von der Notes- Logik hast (unterschiede Ansichten <-> Dokumente , etc. )

Tode
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: 0xse am 18.10.06 - 17:42:01
Sie sagt doch, dass sie noch recht neu mit Notes ist... erwarte nicht die eierlegende Wollmilchsau :-)
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: Diana82 am 19.10.06 - 13:49:27
Ich hätte in dem Zusammenhang nochmal ne Frage. Und zwar hab ich jetzt eine Maske in einer extra-Db (was auch seinen Grund hat) und lese dort per @DbColumn die gesamten DBs aus dem Catalog aus. Nach der Auswahl einer DB werden dann verschiedene Felder gefüllt, also z.B. Erstelldatum, Pfad usw...
Mein Problem ist nun, dass ich auch auslesen lassen will wer Autor, Leser usw ist. Das ganze wird im catalog.nsf im Feld ManagerList bzw. MgrNames (als Bsp. für Managerrechte). Wenn ich das Feld MgrNames auslese wird nichts in das Feld in meiner DB geschrieben, wenn ich MangerList auslese funktioniert das zwar, jedoch sind dort die Namen mit Zeichen ergänzt (Bsp. CN=015NotesRHE01/OU=RHE/O=xy-Firma/C=DE$%^11111111$%^$%^6). Meine Frage wäre nun, warum zeigts mit bei MgrNames nichts an bzw wie bekomm ich die 111%...usw weg?  ???
Danke schon mal...
Titel: Re: Alle DB auf Server anzeigen
Beitrag von: koehlerbv am 19.10.06 - 14:39:14
In solchen Fällen ist es immer hilfreich und sinnvoll, mal einen Blick in das Design der auszulesenden DB zu werfen:
MgrNames ist ein zur Anzeige berechnetes Feld: Da ist also nichts mit auslesen, da der Wert nur im Speicher gehalten wird, wenn das Dokument geöffnet wurde.
In ManagerList (und anderen) liegen alle Informationen zu den entsprechenden Rechtegruppen in komprimierter, sprich verschlüsselter, Form vor. Im QueryOpen der zugehörigen Maske werden diese Angaben auseinandergeflöht und dann in die cfd-Felder geschrieben mit Hilfe der Funktion ParseAllLists. Einfach mal einen Blick darauf werfen und das für Deine DB entsprechend umsetzen.

Bernhard