Domino 9 und frühere Versionen > ND6: Entwicklung
Agent findet keine Dokumente
Nela:
Hi,
ich habe wohl das gleiche Problem, wie schon einige vor mir, nur leider konnten mir die anderen Themen nicht wirklich weiterhelfen.
Ich habe einen Agent, der in einer Datenbank auf einem Server liegt. Dieser Agent (Formelsprache -> das bekannte UIWorkspace-Problem kann es also nicht sein, oder??) soll aus einer anderen Datenbank (am gleichen Server sollte das relevant sein) den Inhalt eines Feldes aus einem Dokument auslesen, und in der Datenbank, in der er liegt, diesen Wert wiederum in ein Feld schreiben.
Ich hoffe das war soweit verständlich.
Das Problem ist nun, dass alles wunderbar funktioniert, wenn der Agent manuell (rechtsklick auf den Agent -> Run) gestartet wird, aber wenn er dann automatisch gestartet wurde, dürfte er keine Dokumente in der anderen Datenbank finden, jedenfalls bekomme ich keinen Wert zurück.
Fehlermeldungen oder so sehe ich am Server auch keine :(.
Habt ihr Ideen für mich, wie ich dieses Problem lösen kann?
LG, Nela
DerAndre:
Was sagt das Log?
Das Problem ist nun, dass alles wunderbar funktioniert, wenn der Agent manuell (rechtsklick auf den Agent -> Run) gestartet wird, aber wenn er dann automatisch gestartet wurde, dürfte er keine Dokumente in der anderen Datenbank finden, jedenfalls bekomme ich keinen Wert zurück
Das versteh ich nicht. "Dürfte keine Dokumente finden" und "jedenfalls bekomme ich keinen Wert zurück" sind dann doch Richtig, oder?
Oder soll es heißen, er findet nichts obwohl er sollte?
Und die üblichen Fragen: Wie, was, wo suchst Du.
Evtl. Code.
André
Nela:
Hi,
danke für die rasche Antwort!
Ja ich habe gemeint, dass es so scheint, als würde er keine finden, weil ich keinen Wert zurückbekomme. Also er sollte etwas finden (tut er ja auch unmittelbar davor wenn ich ihn manuell starte), findet aber nichts.
Das Log vom Agent (ich hoffe das war gemeint) sieht für mich ganz normal aus:
Started running agent ....
Running on all dokuments in database: 6 total
Found 6 document(s) that match search criteria
1 document(s) were modiefied by forumla
Done running agent .....
jedes Mal, egal wie/wodurch er gestartet wurde, steht das drinnen (natürlich mit Datum und Uhrzeit und Name).
Dass er 6 Dokumente findet passt auch, dass er davon eines verändern soll ist auch richtig. Ändern tut ers auch, aber halt leider auf nichts, obwohl er etwas reinschreiben sollte.
Der Code:
SELECT Form="compkm";
dat := @DbColumn("Notes":"NoCache"; @ServerName : Pfad; "einviewname"; 1);
dat := @Subset(dat;1);
FIELD einfeldname := dat;
ja ich weiß, es ginge wohl auch wesentlich einfacher, aber ich hab's gern übersichtlich und bin mit Notes noch nicht sonderlich vertraut ;).
Pfad ist eine Variable in welcher der im Dokument abgespeicherte Pfad der Datenbank liegt (sie existiert, sie wird auch gefunden, und beim manuellen Start liefert mir das ganze brav den ersten Eintrag der angegeben View).
Um gleich ein 2. Feld zu setzen verwende ich dann noch die @Day, @Month und @Year Funktionen, jeweils mit @Text davor, wo ich mir einen String zusammenbastle, den ich dann diesem besagten 2. Feld zuweise.
Ich hoffe ich habe damit jetzt ein wenig Licht ins Dunkel gebracht.
LG, Nela
botschi:
Der Server muss berechtigt sein auf die DB zuzugreifen.
Wenn es bei einer manuellen Ausführung geht, spricht einiges dafür, dass der Server nicht berechtigt ist.
Glombi:
Ich würde mal anstelle von
dat := @DbColumn("Notes":"NoCache"; @ServerName : Pfad; "einviewname"; 1);
folgendes machen:
dat := @DbColumn("Notes":"NoCache"; "" : Pfad; "einviewname"; 1);
Dann ist es ein lokaler Zugriff und das sollte gehen.
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln