Pfadangabe für csv-Import auf Server

  • Hallo zusammen,


    habe mir unter
    http://www-10.lotus.com/ldd/sa…6df2006561e9?OpenDocument
    die DB für den .csv bzw. .txt Import (geht ja beides) angepaßt und funktioniert auch einwandfrei, solange ich es lokal auf meinem PC ausführe.
    Dabei liegen meine NotesDB und die .txt im selben Verz. E:\Programme\lotus\notes\data\Test-Abteilung.
    Pfad im Script:
    fileName$ = "E:\Programme\lotus\notes\data\Test-Abteilung\LandmaschinenKunden.txt" ' Location of your file


    Jetzt möchte ich das ganze auf dem Server ausführen. Hier liegen die NotesDB und die .txt ebenfalls im selben Verz.


    Sub Initialize
    Dim session As New notessession
    Dim db As notesdatabase
    Dim doc As notesdocument
    Dim fileNum As Integer, cells As Integer, k As Integer
    Dim fileName As String
    Dim InputStr As String, delimiter As String
    Dim FieldArray As Variant

    fileNum% = Freefile()
    fileName$ = "E:\Lotus\Domino\Data\xxxAllgemein\LandmaschinenKunden.txt" ' Location of your file
    delimiter = ";" ' Delimiter of your file
    cells = 8 ' How many cells + 1
    k = 0

    Open fileName$ For Input As fileNum%
    Do While Not Eof(fileNum%)
    Line Input #1, InputStr$
    FieldArray = parseall(InputStr$, delimiter, cells)
    response% = CreateDocument(FieldArray)
    k = k + 1
    Print "Document Created: " + Cstr(k)
    Loop
    Close fileNum%
    End Sub


    Hier kommt aber der Fehler „Unable to open file“


    Ich nehme mal an, daß die Pfadangabe auf dem Server anders lauten muß ?
    Hab´s auch schon versucht, funktioniert aber nicht.


    Kann mir bitte einer sagen wie ?


    Vielen Dank schon mal im voraus.


    Gruß Siggi

  • Vermutlich wird das Problem eher sein, daß der Agent es nicht darf. Fileoperationen sind beschränkte Operationen und die sind standardmäßig im Agenten erst mal nicht erlaubt, d.h. in den Agenteneigenschaften muss das aktiviert werden.
    Und natürlich muss der Signer auch die Rechte auf dem Server haben beschränkte Operationen auszuführen (-> Serverdokument)

  • Also im Agent hat "2. Beschränkte Operation zulassen".
    Im Serverdokument steht unter "Beschränkte LotusScript/Java-Agenten ausführen:" der Server selbst und unter anderem meine Wenigkeit.
    Und signiert ist dei DB mit der Server-ID.

  • Also wenn die Datei auf dem Server im gleichen verzeichnis liegt, also so wie es im Script angegeben ist, und der Account unter dem der Domino läuft auch Zugriffsrechte darauf hat, dann sollte es eigentlich gehen.


    Stelle mal sicher, daß die Datei wirklich unter E:\Lotus\Domino\Data\xxxAllgemein\LandmaschinenKunden.txt liegt, wie es in deinem Script angegeben ist

  • Jetzt funktioniert´s.


    Problem war:
    Der Domino Server ist kein Dom-Controller und den Agent habe ich zum Testen immer manuell mit einer Aktion gestartet.
    Wenn ich den Agent von meinem PC aus über den Domino Administrator manuell starte, muß aber mein AD-Account Zugriff auf die .txt-Datei haben. Was aber in diesem Moment nicht der Fall ist.


    Starte ich den Agent dagegen "Zeitgesteuert" funktioniert´s natürlich.


    Da ich das erste mal so einen Agent benutze, wußte ich nicht wie sich das hier mit den Rechten verhält.


    Bedanke aber für Deine Unterstützung.


    Gruß Siggi

  • Wie startest du den Agenten manuell über den Domino Admin ? Über die Serverkonsole und tell amgr run... ?


    Bei beiden gilt aber, daß der User unter dem der Domino läuft den Zugriff auf die Datei braucht. Dein User ist da völlig egal

  • Zitat


    taurec schrieb:
    Wie startest du den Agenten manuell über den Domino Admin ? Über die Serverkonsole und tell amgr run... ?


    Manuell über den Domino Admin von meinem PC aus.


    Zitat


    Bei beiden gilt aber, daß der User unter dem der Domino läuft den Zugriff auf die Datei braucht. Dein User ist da völlig egal


    mit "der User unter dem der Domino läuft " meinst Du doch wohl z. B. meinen User, mit dem ich den Domino-Admin auf meinem PC starte?
    Wie gebe ich aber dann der .txt-Datei den Zugriff meines Notes-Users?

  • Wie startest du bitte über den Domino Administrator einen Agenten ?


    Entweder machst du das über die Anwendung, dann läuft der Agent lokal auf deinem Client oder über die Serverkonsole per tell amgr run, dann läuft es auf dem Server.



    Und der Benutzer von dem ich rede ist der Betriebssystembenutzer unter dem der Domino läuft. Ein Notes Benutzer hat nichts mit dem Betriebssystem zu tun.

  • Ach du meine Güte.
    Ich schätze, ich habe das Glück, daß Du mich jetzt nicht greifen kannst, sonst würdest Du mich vermutlich erwürgen :würg:


    Ich weiß nicht, warum ich dauern vom Domino-Admin rede, ich meinte natürlich den Designer (oh wie ist das peinlich).


    Ich kann mich für diese Dummheit nur 1000x Entschuldigen!


    Also:
    Ich öffne an meinem PC den Designer, öffne dort die DB und versuche im Designer den Agent manuell zu starten.


    Konfig das Agent:
    Gemeinsam
    Auslösen: Durch Ereignis
    Auswahl im Menü Aktionen
    Ziel: Alle Dokumente in der Datenbank od. Alle neuen und geänderten Dokumente od. Kein


    Meldung: Unable to open file


    Die selbe Meldung bekomme ich ebenfalls, wenn ich die DB in meinem Notes-Client öffne und versuche, den Agent über „Aktion“ zu starten.



    Konfig das Agent:
    Gemeinsam
    Auslösen: Durch Ereignis
    Auswahl im Menü Aktionen
    Ziel: Alle ungelesenen Dokumente in der Ansicht od. Alle Dokumente in der Ansicht


    Meldung: Dieser Agent muß von einem Ansichtsfenster aus gestartet werden.


    Versuche ich dies wieder in meinem Notes-Client: Unable to open file



    Aber wie schon erwähnt, Zeitgesteuert funktioniert´s:


    Konfig das Agent:
    Gemeinsam
    Auslösen: Durch Zeitplan
    Ziel: Alle neuen und geänderten Dokumente


    Zitat


    Ein Notes Benutzer hat nichts mit dem Betriebssystem zu tun.


    Das ist mir klar. Ich wußte nur nicht ob ich Dich richtig verstanden habe.
    Der Betriebssystemben. hat natürlich Zugriff auf die Datei.



    Eigentlich funktionierts ja (er läuft sowieso Zeitgesteuert).
    Ich würde nur gerne verstehen, warum ich ihn nicht manuell auslösen kann ?


    Gruß Siggi


    Ich bitte nochmals um Entschuldigung !!!

  • Der Unterschied ist ganz einfach:


    Wenn du den Agenten im designer ausführst wird er in deinem Client ausgeführt, d.h. die Datei muss lokal bei dir liegen und dein Windows Benutzer muss die entsprechenden Zugriffe haben.


    Wenn du ihn manuell auslösen willst und er dabei auf dem Server laufen muss, dann muss das entweder über den Admin Client und die Konsole geschehen oder aber über einen anderen Agenten der diesen mit der Methode RunOnServer startet