Domino 9 und frühere Versionen > Entwicklung
Agent wird nicht wie gewünscht ausgeführt
Bille:
Hallo!
In verschiedenen DB's laufen einmal täglich Agenten. Damit ich die Ausführung der Agenten besser überwachen kann, hab ich eine Funktion integriert, die mir pro ausgeführten Agenten ein Dokument in einer neuen Datenbank (ag_log.nsf) angelegt.
Call SY_Logeintrag(db.title, "Auswertungs-Melder", Now(),col.count & " Dokumente geprüft")
Sub SY_LogEintrag (DBName As String, Agentname As String, Agentzeit As Variant, Hinweis As String)
Dim session As New notessession
Dim db As New notesdatabase("XY2639GS00nmdb","\bw\ag_log.nsf")
Dim doc As New Notesdocument(db)
doc.form = "Logeintrag"
doc.DBName = DBName
doc.Agentname = Agentname
doc.Agentzeit = Agentzeit
doc.Hinweis = Hinweis
Call doc.Save(False,False)
End Sub
Wenn ich den Agenten über "rechte Maustaste - Starten" aufrufe, funktioniert's einwandfrei und ein neues Dokument in der ag_log.nsf wird erstellt.
Leider geschieht das nicht bei der geplanten Agentausführung (täglich um 8.00 Uhr).
Im Protokoll des Agenten wird angezeigt, dass er ausgeführt wurde:
Agent 'Auswertungs-Melder' wurde am 20.11.2004 08:00:45 gestartet
Bearbeite alle Dokumente in der Datenbank: insgesamt 115
115 Dokumente gefunden, die die Suchkriterien erfüllen
LotusScript Code ausgeführt
Agent 'Auswertungs-Melder' wurde am 20.11.2004 08:00:45 beendet
Kann es mit irgendwelchen Zugriffsrechten zu tun haben?
LocalDomainServers ist "Manager" der DB ag_log.nsf
(Server: OS/2 mit Notes 4.57a)
Kann mir bitte jemand helfen?
Gruß,
Bille
***Edit***
Thread auf "erledigt" gesetzt
TMC:
Bille,
schätzungsweise liegts an der Angabe des Servers, dies mögen serverbasierende Agenten nicht.
Bau mal folgendes ein anstatt Deinem Dim db ....:
--- Code: --- Dim db as NotesDatabase
Const SERVER_NAME$ = "XY2639GS00nmdb"
Const FULLPATH_DBLOG$ = "\bw\ag_log.nsf"
If session.IsOnServer Then
Set db = New NotesDatabase("" , FULLPATH_DBLOG)
Else
Set db = New NotesDatabase(SERVER_NAME , FULLPATH_DBLOG)
End If
--- Ende Code ---
Die Log-DB muss aber auf dem selben Server sein.
Matthias
Bille:
Vielen Dank Matthias, ich werd's gleich abändern und testen.
Ich poste dann das Resultat.
Servus
Bille:
Nach Änderung des Scripts erscheint nun beim geplanten Aufruf des Agents folgende Fehlermeldung in der Zeile:
Database ag_log.nsf hat not been opened yet
Wenn ich es über die Notes-Workstation am Server aufrufe, klappt das Erstellen des neuen Dokuments wunderbar. (Klar, denn auch hier kommt der Else-Zweig der If-Bedingung zum Zug.)
Mein Fehler liegt also in der Zeile
Set db = New NotesDatabase("" , FULLPATH_DBLOG)
Ist hier noch das explizite Öffnen der DB notwendig?
Bille
PS: @Matthias: Die ag_log.nsf liegt am gleichen Server.
TMC:
--- Zitat von: Bille am 20.11.04 - 13:56:12 ---Ist hier noch das explizite Öffnen der DB notwendig?
--- Ende Zitat ---
Eigentlich nicht. Du kannst aber mal in die R4-Designerhilfe sehen.
Was mir noch nicht gefällt ist:
--- Code: ---"\bw\ag_log.nsf"
--- Ende Code ---
Nimm da mal den führenden Backslash raus. Außerdem kannst Du mal den 2. Backslash in einen normalen Slash "/" umändern.
Wenn das auch nicht hilft: evtl. mal Server neustarten.
HTH
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln