Autor Thema: Servername berechnen, auf welchem der aktuellen User gerade angemeldet ist  (Gelesen 4373 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo liebe Forum,

Wenn jemand mir dabei helfen würde:
wie berechnet man Servername, auf welchem der aktuellen User gerade angemeldet ist ?

Meine Recherche waren erfolglos.

Vielen Dank im Voraus und schoene Gruesse

Sofia
« Letzte Änderung: 27.07.06 - 13:41:10 von sja »

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo,

evtl. habe ich meine Frage nicht ganz korrekt gestellt.

Die Situation ist folgende:

User arbeitet mit einer lokalen Replik einer Anwendung. In dieser Anwendung ist vorgesehen den Zugriff auf eine andere Anwendung, die auf einem Server liegt (es gibt die Repliken auf mehreren Servern), aber es muss zugegriffen werden auf die jenige Replik, die auf dem Server liegt, auf welchem der User gerade angemeldet ist.


Danke schön im Voraus
Sofia
« Letzte Änderung: 25.07.06 - 14:33:21 von sja »

Driri

  • Gast
Hallo,

dann hol dir einfach über die NotesDatabase und deren Property Server den Servernamen.

z.B.

Set db = session.CurrentDatabase
server = db.Server

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Obicht, Ingo - Sofia arbeitet mit einer lokalen Replik und will einen Servernamen!

Sofia: "Angemeldet" bei einem Domino-Server sagt im Notes-Umfeld sehr wenig aus - der User kann sich ja bereits bei drei Servern authentifiziert haben. Du müsstest also bestimmen, was "der" Server ist - mit der "Anmeldung" hätte das dann aber nichts zu tun (die Authentifiziering) kann ggf. erst dann erfolgen, wenn auf eine DB auf diesem gewünschten Server zugegriffen wird.

Du könntest auf die lt. Arbeitsumgebung festgelegte Mail-DB zugreifen und darüber einen dedizierten Server zugreifen - aber ob das Deine Intentionen trifft? Vielleicht beschreibst Du die Anforderungen noch etwas spezifischer.

Bernhard

Driri

  • Gast
Hmm, dann hab ich das mistverstanden. Ich hatte das so verstanden, daß aus DB A heraus auf DB B zugegriffen werden soll und die dann DB B auf dem selben Server geöffnet werden soll, wie DB A.

Ich seh auch gerade, Sofia hat ja geschrieben "User arbeiten mit einer lokalen Replik". Hab ich irgendwie überlesen, sorry.

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo Ingo.
hallo Bernhard.

erst herzlichen Dank für Eure Hilfe

Du hast absolut Recht, Bernhard, das Problem ist, dass es mit lokaler Replik gearbeitet wird und deswegen kann ich nicht db.Server verwenden.
Ich kann auch nicht in persönlichem Dokument (Domino-Directory) gespeicherte Mail-Server (sagen wir Haupt-Server) benutzen, in meinem Fall wird es das Server (sagen wir Arbeits-Server), das in der Arbeitsumgebung von Notes-Client festgelegt ist und normale Weise die Authentifizierung erfolgt auf diesem Server.
Ich weiss nur nicht wie kann man das aus einer Anwendung (mit LotusScript ?) festzustellen ???

Noch mal vielen Dank und liebe Gruesse

Sofia

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Wenn Du den in der AU festgelegten Mailserver ermitteln willst: NotesDatabase.OpenMail und dann NotesDatabase.Server.

Bernhard

Driri

  • Gast
Normalerweise entspricht der Home-Server in der Arbeitsumgebung aber dem Mailserver aus dem Personendokument im Directory. Oder habt ihr da wirklich was anderes eingestellt ?

Die einfachste Möglichkeit, um an den Mailserver zu kommen, wäre IMO der Weg über die INI. Dort ist der Mailserver in der Variable "MailServer" hinterlegt. Mit session.GetEnvironmentString kannst Du die einfach auslesen.
Dort wird AFAIK bei der Konfiguration des Clients der Mailserver des Users eingetragen. Der Eintrag stammt dann allerdings aus dem Directory.

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Wobei die Strategie von Bernhard nicht notwendigerweise sinnvoll sein muss.

Das Problem dabei ist immer, wie bilde ich sich zwischen verschiedenen Servern bewegende Benutzer so ab, das der Zugriff auf mit meiner Datenbank verbundene Anwendungen (andere Datenbanken) mit möglichst wenig Datentransportaufwand passiert.
Also das klassische der Benutzer springt zwischen n Standorten mit m Servern und soll sich jeweils immer am Netzwerktechnisch nächstgelegenen Server seine Daten holen, vorzugsweise ohne mit unterschiedlichen Arbeitsumgebungen hantieren zu müssen Problem.

Das wäre ein Fall für einen BP Artikel, da die verschiedenen möglichen Strategien mit ihren Vor und Nachteilen aufzuzeigen. Wobei meiner Meinung nach in diesem Fall egal wie du es anstellst immer nur suboptimale Lösungen möglich sind.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Nein, dfas muss wirklich nicht sinnvoll sein, Thomas. Ich hatte das weiter oben ja schon etwas ausführlicher angedeutet  ;)

Bernhard

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo,  

In unserem Fall ist  der Zugriff per Internet auf eine Email-Db nur auf dem Haupt-Server möglich, deswegen ist das Haupt-Server in dem Personendokument im Directory eingetragen, aber aus dem Notes-Client muss man schon mit dem Arbeits-Server arbeiten, deswegen in der AU wird Arbeits-Server festgelegt.

Vielen Dank für Eure hilfreiche Vorschläge. Über NotesDatabase.OpenMail  wusste ich frühe nicht, aber was betrifft notes.ini das ist mir schon peinlich, da ich schon selbst dazu kommen sollte.

Habe gerade mit dem Vorschlag von Bernhard getestet

Dim db As New NotesDatabase( "", "" )
Call db.OpenMail
Messagebox( db.Title & " on server " & db.Server )

und es wird mit db.Server das Server angezeigt, der in der AU festegelegt ist, obwohl in meinem Arbeitsbereich  sind die Leserzeichen von mehreren Repliken auf verschiedenen Servern. Genau das brauche ich.

Noch mal tausend Dank!

Liebe Gruesse
Sofia



 

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Jetzt habe ich dazu noch eine Frage.

Es sollte aus lokaler Replik der Anwendung A auf der Server-Replik der Anwendung B nur in dem Fall zugegriffen werden, wenn lokale Replik von Anwendung B existiert nicht.
Wie kann ich herausfinden ob lokale Replik von Anwendung B existiert oder nicht existiert?

Danke schön

Sofia

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Öffne die DB über die ReplicaID (NotesDatabase.OpenByReplicaID). Wenn das in die Hose geht ...
Achtung: OpenByReplicaID kann ggf. lokal zeitintensiv sein, wenn dies die erste derartige Aktion nach dem Clientstart ist. Anders geht es aber nicht.

Bernhard

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo Bernhard,

herzlichen Dank für Deine immer super Hilfe.

habe mit folgendem Code getestet

If ( Not ( dbCopy.Open(  "", "DBFileName" ) ) )  Then
   Call db.OpenMail
   tmpSRV = db.Server
Else
   tmpSRV = ""
End If   
. . .

Set collection = ws.PickListCollection( 3, True, tmpSRV, "DBFileName", viewName$, title$, prompt$ )
. . .

Da der Pfad und der DBFeilName müssen auf den Servern und ggf. lokal gleich sein, könnte ich ohne ReplicaID zu Recht zu kommen. Also, in der Test-Version funktionierte es.
Sorry, dass ich nicht sofort beantwortet habe, war mit einer anderen dringenden Aufgabe von dieser abgelehnt und könnte nur heute das alles zu Testen.

Noch mal danke ich allen für reiche Hilfe
Schoene Gruesse

Sofia


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz