Problem mit Agent

  • Ich habe eine Datenbank programmiert, in der sich einige Felder den Inhalt per @DBLookup aus einer anderen DB (stamm.nsf) ziehen.
    Diese Funktion habe ich dann in einen Agenten hinterlegt.


    Starte ich diesen Agenten "LOKAL", werden die Aktionen wie gewünscht ausgeführt.


    Lasse ich diesen Agenten über unseren "SERVER" starten, erhalten ich folgende Einträge:


    Aus dem Notes-Protokoll des Servers:
    AMgr: Agent ('Agentenstarter' in 'eigene\show.nsf') Meldungsfeld: Stamm-Datenbank konnte nicht geöffnet werden.


    Aus den Feldinhalten der eigen-programmierten Datenbank:
    FEHLER: Aus Sicherheitsgründen ist das Suchen in entfernten Notes Datenbanken nicht gestattet.


    Die ACL beider Datenbanken beinhaltet jeweils eine Gruppe, in der auch der Server enthalten ist.
    Diese Gruppe besitzt "Managerrechte" auf beide DB.


    Weswegen läuft der Agent zwar "LOKAL", jedoch nicht auf dem "SERVER"?

    • Offizieller Beitrag

    schau mal unter Eigenschaft - Agent "Laufzeit-Sicherheitsstufe festlegen" nach dort sollte eine 2 drin stehen.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • unter R5 koennen Server nicht auf andere Server zugreifen und suchen, Versuch mal in dem @dblookup den Severrnamen ""; damit sollte es laufen.

  • schau mal unter Eigenschaft - Agent "Laufzeit-Sicherheitsstufe festlegen" nach dort sollte eine 2 drin stehen.


    Wo finde ich das?


    Eingesetzt habe ich Notes R5.

    • Offizieller Beitrag

    "Laufzeit-Sicherheitsstufe festlegen" ist neu im Notes 6.


    beim @dbLookup gibst Du einen Server und eine DB an. Wird der Agent von Dir gestartet, muss der Server drin stehen, wird der Agent auf dem Server gestartet, muss anstelle des Servers "" stehen und die DB muss zwingend auf diesem Server liegen und kann nicht von einem anderen Server geöffnet werden.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • @DBLookup habe ich entsprechend geändert, die Servereinträge entfernt und statt dessen "" eingetragen.


    Der Agent scheint nun auch zu laufen. Im Notes-Protokoll des Servers sehe ich jedenfalls keinen Hinweis. (Erscheint hier nur ein Hinweis, wenn der Agent Fehlermeldungen erzeugt?)


    Doch die Felder der DB, die durch den Agenten aktualisiert werden sollen, beinhalten nun folgenden Text:
    FEHLER: Sie sind zur Durchführung dieser Operation nicht berechtigt


    Was ist denn nun noch falsch?


    Wie gesagt, in der ACL beider DB hat der Server Managerechte und ist vom Typ "unbestimmt".

  • Erstellt habe ich die Agenten selbst. Es ist ein gemeinsam genutzter Agent.


    Wo kann ich sehen, wer der Unterzeichner des Agenten ist?


    ACL der DB, aus der gelesen wird (stamm.nsf):
    Server = unbestimmt, Manager
    Ich = über Personengruppe, Leser


    ACL der DB, in der die Felder gesetzt werden sollen (show, nsf):
    Server = unbestimmt, Manager
    Ich = Person, Manager

  • Natürlich brauchst du Ausführungsrechte wenn du auf dem Server Agenten ausführen willst.
    Lokal benötigst du diese nicht.
    Also entweder musst du in die entsprechenden Felder im Serverdokument aufgenommen werden, oder du lässt einen der diese Rechte hat den Agenten unterzeichnen