Domino 9 und frühere Versionen > Administration & Userprobleme
Fehler bei Agent
Driri:
Hallo,
ich habe hier einen Agent, der bisher auf allen Servern problemlos durchgelaufen ist. Aufgabe des Agents ist es, alle Ordner zu prüfen und das Flag zum Schutz vor Updates zu setzen (bei persönlichen Ordnern). Wir wollen in den nächsten Tagen die Mail-Datenbanken von R4.6 auf R5 umstellen.
Beim letzten Server bekomme ich immer eine Fehlermeldung auf der Konsole, sobald der Agent startet und die erste Datenbank öffnet :
AMgr: Agent (xyz) gibt aus: Fehler 4000 : Notes error: Sie haben keine Mail-Datei bzw. keinen Mail-Server angegeben. Wählen Sie eine(n) aus dem Menü 'Datei - Mobil - Aktuelle Arbeitsumgeb
Das ist ein Domino-Server auf NT, allerdings ist der Agent auf anderen NT-Maschinen klaglos durchgelaufen.
Weiß jemand rat ?
Glombi:
Hi,
was ist denn das für ein Agent? Läuft der in jeder Mail-DB oder wird der aus einer extra DB angetriggert? Falls ja, wie holt er sich die Mail-DBs?
Andreas
Driri:
Hallo,
also das is nen Agent in ner gesonderten Datenbank. Wir haben eine extra Datenbank mit nen paar netten Agents für Administrationszwecke.
Der Agent geht wie folgt vor :
- Liest das Directory aus und schnappt sich die erste Datenbank
- Vergleicht, ob die Datenbank im Ordner "mail" steht
- Wenn nein, nächste Datenbank
- Wenn ja, DB öffnen und alle Views auslesen
- View prüfen, ob es sich dabei um einen Folder handelt
- Wenn ja, Folder als Doc-Objekt setzen und den Flag prüfen (ist im Feld "$Flags")
- Flag ggf. setzen und Doc speichern
Glombi:
Hi,
poste mal den Code zu "Liest das Directory aus und schnappt sich die erste Datenbank"
oder gleich alles...
Andreas
Driri:
Hi,
das ist der Code (bin allerdings nicht der erfahrenstes Script-Progger 8)) :
Dim s As New NotesSession
Dim db As NotesDatabase
Dim directory As NotesDbDirectory
Dim uniqid As String
Dim count,count2,count3,count4 As Integer
Dim emaildbs As String
Dim okay, fehler As String
Dim dbPath, MailPath, dbName, ViewName, CorrectedViews As String
Set directory = New NotesDbDirectory ("SERVER")
Set db = directory.GetFirstDatabase(DATABASE)
While Not (db Is Nothing)
dbPath = db.FilePath
dbName = dbPath
MailPath = Left(dbPath, 13)
If MailPath = "SERVER!!mail\" Then
While dbPath <> ""
count = 0
count2 = 0
count3 = 0
count4 = 0
If Not db.IsOpen Then
Call db.Open( "", "" )
On Error Goto Errorhandle
End If
CorrectedViews = ""
Forall Views In db.Views
If Views.IsFolder Then
ViewName = Views.Name
count = count + 1
uniqid = Views.UniversalID
Set doc = db.GetDocumentByUNID(uniqid)
Set flags = doc.GetFirstItem("$Flags")
If ViewName = "($Inbox)" Or ViewName = "($Trash)" Or ViewName = "($Alarms)" Then
If (flags.Text Like "*P*") Then
Dim flagziel As String
Call GPRKFindAndReplace(flags.Text, flagziel, "P", "")
flags.Values = flagziel
Call doc.Save(True, False)
count3 = count3 + 1
End If
Else
If Not (flags.Text Like "*P*") Then
flags.Values = flags.Text & "P"
Call doc.Save(True, False)
count2 = count2+1
CorrectedViews = CorrectedViews & ViewName
Else
count4 = count4+1
End If
End If
End If
End Forall
dbPath = ""
Wend
Dim text As String
text = "blabla"
Dim mdb As New NotesDatabase ("","mail.box")
Dim d As notesdocument
Set d = New notesdocument(mdb)
d.form = "Memo"
d.Subject = "FolderProtect für " & Cstr(dbName)
d.Body = text
d.SendTo = "lnadmin"
Call d.send(False)
End If
Weiter:
Set db = directory.GetNextDatabase
Wend
Exit Sub
Errorhandle:
Print "Fehler bei Datenbank : " & Cstr(dbName)
Print "Fehler " & Str(Err) & " : " & Error$
Goto Weiter
End Sub
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln