Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ata am 12.11.02 - 08:46:11

Titel: Verfügbare Server per Script ermitteln
Beitrag von: ata am 12.11.02 - 08:46:11
Hallole @all,

Gibt es eine Möglichkeit per LotusScript herauszufinden, auf welche Notes-Server man zugreifen kann?

Danke im voraus für Eure Beiträge...

ata  ???
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: eknori am 12.11.02 - 08:55:39
Meinst du welche Server generell verfügbar sind oder welche auch tatsächlich am Draht sind ??
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: eknori am 12.11.02 - 08:59:03
generell würde ich mir erst einmal alle Serverdokumente schnappen.
Dann hast du schon mal alle Servernamen.
Dann versuchen, eine Datenbank ( names.nsf) auf dem Server zu öffnen.
Ob das erfolgreich war kannst du über

db.IsOpen

abfragen.

Wenn du da einen fehler bekommst, kannst du nicht drauf zugreifen.

eknori
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: ata am 12.11.02 - 09:09:18
... alles was verfügbar ist...

Ich brauch die Server in einer Auswahlliste...

ata
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: eknori am 12.11.02 - 09:31:03
Yoo, dan lies doch einfach aus dem PAB die Serverdokumente aus.
Alternativ dazu kannst du auch die verbindungsdokumente auslesen.

Ulrich
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: ata am 12.11.02 - 09:36:34
... ich denke so werd ich es machen, die Serverdokumente und Verbindungsdokumente checken un das jeweilige NAB öffnen...

danke erst mal...

ata
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: eknori am 12.11.02 - 10:37:29
Hier noch in Ergänzung eine kleine Funktion, um einen NotesServer anzupingen. Wenn der Server online ist, gibt die Funktion TRUE zurück ansonsten FALSE

Declare Function NSPingServer Lib "nnotes.dll" ( Byval pServerName As String, pdwIndex As Long, phList As Long) As Integer
Declare Function OSLoadString Lib "nlib.dll" (Byval hModule&, Byval Status%, Byval retBuffer$, Byval BufferLength%) As Integer


Function IsServerAvailable(ServerName$)As Variant
   
   Dim l&,m&,Status%
   
   Status%=NSPingServer(ServerName$, m&,l&)
   If status%= 0 Then
      IsServerAvailable=True
   Else
      IsServerAvailable=False
   End If
   
End Function


Sub Click(Source As Button)
   Msgbox IsServerAvailable ("DEWVX01/WITTE/DE")
End Sub

eknori
Titel: Re:Verfügbare Server per Script ermitteln
Beitrag von: eknori am 12.11.02 - 10:47:36
Und noch ne nette Sache: Gibt dir die prozentuale Verfügbarkeit wie beim Befehl sh server zurück

Const Button = "Server Latency"
Const APIModule = "NNOTES" ' Windows

Declare Function NSFGetServerLatency Lib APIModule Alias "NSFGetServerLatency" _
( Byval S As String, Byval T As Long, A As Long, B As Long, V As Integer) As Integer
Declare Function NSPingServer Lib APIModule Alias "NSPingServer" _
( Byval S As String, L As Long, pC As Long) As Integer
Declare Function OSLoadString Lib APIModule Alias "OSLoadString" _
( Byval H As Long, Byval S As Integer, Byval B As String, Byval nB As Integer) As Integer

Sub Click(Source As Button)
s$ = Trim$(Inputbox$("Server name:", Button, ""))
If s$ = "" Then Exit Sub

v% = NSPingServer(s$, a&, 0)
If Not v% = 0 Then
APIError v%
Exit Sub
End If

v% = NSFGetServerLatency(s$, 30000, tC&, tS&, sV%)
If Not v% = 0 Then
APIError v%
Exit Sub
End If

Messagebox "Server: " & s$ _
& Chr$(10) & "Availability: " & Cstr(a&) & "%" _
& Chr$(10) & "Outbound: " & Cstr(tC&) & " ms" _
& Chr$(10) & "Inbound: " & Cstr(tS&) & " ms" _
& Chr$(10) & "Version: " & Cstr(sV%) _
, 64, Button
End Sub

Sub APIError(V As Integer)
m$ = String$(1024, " ")
OSLoadString 0, V And &H3FFF, m$, 1024
p% = Instr(m$, Chr$(0))
If Not p% = 0 Then m$ = Left$(m$, p% - 1)
If m$ = "" Or m$ = "No error" Then m$ = "Unknown error (&H" & Hex$(v%) & ")"
Messagebox m$, 16, Button
End Sub

eknori
Titel: Re: Verfügbare Server per Script ermitteln
Beitrag von: Fedaykin am 12.06.09 - 13:37:36
Hallo zusammen

Kleiner Nachtrag, vielleicht hilft es ja mal jemanden der so was sucht und damit ich es wieder finde.  ;D

http://openntf.org/Projects/codebin/codebin.nsf/CodeBySubType/735160BB77457CF688256BDC000CC19C

Und sollte der Link mal nicht mehr funktionieren kleiner Tip am besten nach NSGetServerList googeln.

Gruss
Remo