Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: lakin am 20.07.05 - 10:02:42

Titel: Agent tut nichts
Beitrag von: lakin am 20.07.05 - 10:02:42
Hallo Leute.

Ich habe einen Agenten Serverseitig laufen. Jedoch tut der gute nichts. Wenn ich dann im Designer das Protokoll betrachte steht da folgendes:

Started running agent 'Agnt1' on 20.07.2005 09:58:36
Running on all documents in database: 2065 total
Found 2065 document(s) that match search criteria
Ran LotusScript code
Done running agent 'TextExport' on 20.07.2005 09:58:36


Wenn ich den Agenten Lokal laufen lasse dann Funktioniert er super.

Was kann da los sein?
Titel: Re: Agent tut nichts
Beitrag von: robertpp am 20.07.05 - 10:09:12
Hast du UIDoc oder UIWorkspace in deinen Agent verwendet?
Titel: Re: Agent tut nichts
Beitrag von: ascom40 am 20.07.05 - 10:09:41
Hallo lakin,

hast du Frontend-Klassen verwendet ? Vielleicht mal ein bisschen von dem Code scripten, alles andere ist Kaffeesatzleserei, das Protokoll meldet ja keinen Fehler.

Edit: robertpp war schneller

Jo
Titel: Re: Agent tut nichts
Beitrag von: lakin am 20.07.05 - 10:25:32
....soweit ich weiss keine Front-End Klasse vorhanden

Sub Initialize
   
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim tmpCount As Integer
   Dim session As New NotesSession, _
   Dim se As New NotesSession
   Dim dbPath As String
   Dim dbserv As String
   Dim i As Integer
   Dim j As Long, DBtit As String
   
   dbserv = "sv1"
                dbPath = "db.nsf"
   fname = "Exp_02.txt"
            
      
   Dim fileNum As Integer
   Dim fileName As String
   fileNum% = Freefile()
   fileName$ = "\\server\ordner\ordner2\ordner3\" + fname(a)
      
   Open fileName$ For Output As fileNum%
      
            
   Set db = se.GetDatabase(dbserv, dbPath)
   DBtit = db.Title
   Set view = db.GetView("vwEExp")
   ViewName = view.Name
         
   'Add the table labels
   
   Forall c In view.Columns
   Print #fileNum%, c.title + ";";
   End Forall      
   Print #fileNum%, Chr(13)
   
         
   Set doc = view.GetFirstDocument
         
   While Not ( doc Is Nothing )
   RowCount = 0

   For x= 1 To view.Columncount

   'Schauen ob Spaltenwert ein Array ist
   Dim wert, wert1, wert2 As String

        If Isarray(doc.ColumnValues(RowCount)) Then
             wert = doc.ColumnValues(RowCount)
             wert1 = wert(0)
        Else
             wert1 = doc.ColumnValues(RowCount)
        End If
   
                wert2 = Cstr(wert1)
   Print #fileNum%, wert2 + ";";
   RowCount=RowCount+1
   Next
            
   Print #fileNum%, Chr(13)
   Set doc = view.GetNextDocument(doc)
            
   Wend
         
         
   Close fileNum%
      
      
      
End Sub
Titel: Re: Agent tut nichts
Beitrag von: diali am 20.07.05 - 10:27:41
was hast Du bei den Sicherheitsoptionen eingestellt?

Mit Operationen auf Dateiebene muss es glaube ich 2 oder 3 sein.
Titel: Re: Agent tut nichts
Beitrag von: robertpp am 20.07.05 - 10:27:46
Du greifst auf das Filesystem zu ich denke das solltest du beim Agent den Runtime Security Level auf 3 setzen.
Findest du in den Eigenschaften des Agent am Security Reiter.
Versuch das mal.
Titel: Re: Agent tut nichts
Beitrag von: koehlerbv am 20.07.05 - 10:29:12
... und mal nachschauen, was nach 9:58 Uhr im Log des Servers steht.

Bernhard
Titel: Re: Agent tut nichts
Beitrag von: lakin am 20.07.05 - 10:33:55
ooh... da kommen wir der Sache schon näher.... :)

Wenn ich die Ausführungsrechte des Agenten auf 3 stelle dann bekomme ich im Protokoll angezeigt:

Notes Error: Fehler beim Validieren des Agentenausführungszugriffs des Benutzers

soll warscheinlich heissen, dass ich zuwenig rechte auf dem Server habe  ???
Titel: Re: Agent tut nichts
Beitrag von: diali am 20.07.05 - 10:36:19
ja genau so sieht es aus. Unterzeichne den Agent mit einer ID, die diese Rechte hat (eventuell Server-ID).
Titel: Re: Agent tut nichts
Beitrag von: umi am 20.07.05 - 11:14:02
Immer wieder das gleiche Problem:
  fileName$ = "\\server\ordner\ordner2\ordner3\" + fname(a)
     
Du greifst auf einen Share zu.
Da Notes standardmässig unter dem System Account läuft funktioniert das nicht.Dies wird von Windoof unterbunden.

Notes muss daher unter einem anderen Account laufen.


Ausserdem braucht der Unterzeichner die rechte Restricted Agents auszuführen (siehe Config Dokument des Servers)
gruss
umi
Titel: Re: Agent tut nichts
Beitrag von: lakin am 20.07.05 - 11:53:29
Zitat
Notes muss daher unter einem anderen Account laufen.

..heisst das, dass im Feld "Agent unter anderem Benutzernamen ausführen" der Name eines Notes Users mit vollen Rechten stehen muss?
Titel: Re: Agent tut nichts
Beitrag von: umi am 20.07.05 - 12:52:15
Nö, das heisst der Notesserver läuft als Dienst auf Deiner Windows Kiste.
Dieser NotesDienst läuft wahrscheinlich unter dem Account System. Dieser Account darf aber auf keine Shares zugreifen.

gruss

umi
Titel: Re: Agent tut nichts
Beitrag von: lakin am 20.07.05 - 15:08:27
...Na wenn Das so aufwändig ist dann spar ich mir den ganzen Quatsch und ziehe die Daten mit einer externen Applikation aus Notes heraus.

Ich denke das macht dann keinen Sinn wenn einem Serverseitig so viele Steine in den Weg gelegt werden. Ausserdem werden unsere Domino Server nach und nach auf Unix Maschinen installiert und dann hat der ganze kram eh keine Funktion mehr.

Aber immerhin hab ich ne ganze menge dazugelernt.

Vielen Dank und viele Grüße von Lakin.
Titel: Re: Agent tut nichts
Beitrag von: brixxton am 20.07.05 - 15:23:07
So was in der art hatte ich auch schon gemacht.

Mach eine Netzlaufwerk verbindung und greif auf die drauf, dann müsste es Funktionieren.

Dann heist es z.b.:
fileName$ = "Y:\ordner\ordner2\ordner3\" + fname(a)
Titel: Re: Agent tut nichts
Beitrag von: lakin am 21.07.05 - 09:34:49
Noch mal so am Rande....

Würdet Ihr es für sinvoll halten sich bezüglich dieses Themas in die "LSX" - Connectoren einzuarbeiten...??? Ich habe gelesen, dass es da eine ganz Komfortable lösung geben soll. Oder habt Ihr damit eher schlechte Erfahrungen gemacht?