Agent.run ergibt undefinierte Fehlermeldung

  • Hallo


    so kurz vor den Feiertagen hab ich dann dochmal eine frage
    und zwar..


    ich habe diverse agenten geschrieben die Notesdatenbanken mit einem mssqlserver abgleichen indem ich mir vordefinierte ansichten hole und dies mit den werten die ich per LSXODBC


    die agenten an sich laufen wunderprächtig :)


    so nun hab ich vor die mittlerweile 18 prüfungen doch mitttels eines einzigen agentten starten zu lassen der sieht wie folgt aus


    ===================
    Dim s As New notessession
    Dim db As notesdatabase
    Dim array(0 To 17) As String
    Dim agent As notesagent

    Set db = s.CurrentDatabase

    array(0) = "CCDBESGEM"
    array(1) = "CCD_Leistungsdaten"
    array(2) = "CCDLIZ"
    array(3) = "CCDPFAHRER"
    array(4) = "CCDPTRAIN"
    array(5) = "CCDPZUECHTER"
    array(6) = "CCDPSTAMM"
    array(7) = "CCDPSTAT"
    array(8) = "CCDSQLLN"
    array(9) = "CCDZEICH"
    array(10) = "CCDZUAN"
    array(11) = "CCDAUSF"
    array(12) = "CCDBESITZ"
    array(13) = "CCDEINF"
    array(14) = "CCDSTAND"
    array(15) = "CCDTLIST"
    array(16) = "CCDTSTAT"
    array(17) = "CCDPGESTUET"

    For i = 0 To Ubound(array)
    Set agent = db.GetAgent( cstr(array(i))


    If agent.Run = 0 Then
    Print "start -> " & array(i)
    Else
    Print "DENIED -> " & array(i)
    End If
    Next
    ====================


    sobald agent.Run aufgerufen wird bekomme ich die Fehlermeldung "Lotus Script unknown error"
    nun bin ich am überlegen ob nicht im fiolgendem code der fehler begraben liegt
    (ein Prüfagent)
    ===============================
    Sub Initialize
    Dim con As New LCConnection ("oledb")
    con.database = "XXXX"
    con.server = "XXXX"
    con.provider ="SQLOLEDB"
    con.userid =""XXXX"
    con.password = ""XXXX"

    '==========================

    Dim SQL As String
    Dim lcsess As New LCSession
    Dim MyResult As String
    Dim lcfeld As LCField
    Dim lcfeld2 As New LCField (LCTYPE_DATETIME)
    Dim session As New NotesSession
    On Error Goto ErrorHandler
    Set aktdb = session.CurrentDatabase
    Set configdoc = getconfigdoc(Cstr(aktdb.server))
    Set db = New notesdatabase(configdoc.paserver(0), configdoc.pafile(0))
    Dim ident ()
    Dim zeit ()
    count = 0
    filenum% = Freefile()
    Open "\\server\ordner\CheckServer\CHECKSQLNOTES_BG" & Format(Today,"ddmmyyyy") & ".xls" For Output As filenum%
    Print # filenum%, "PARTNERID NAME NOTES SQL"
    'Notes holen
    Set view = db.getview("(CheckBG)")
    Set col = view.allentries

    'SQL holen
    sql = "select pbgunID,pbgaenddt from pbgp where CONVERT(varchar(8), pbgaenddt, 112)=CONVERT(varchar(8), GetDate(), 112) order by pbgunid"

    Dim MyFldList As New LCFieldList

    con.Execute sql,myfldlist
    ' rtlident, rtldat,rtlort,rtlfahrer, rtltrainer, rtlidzue,rtlidbes
    While (con.Fetch(myfldlist) > 0)
    Redim Preserve ident (count)
    Redim Preserve zeit(count)
    Set lcfeld2 = myfldlist.GetField(1)
    ident (count)= Cstr(lcfeld2.text(0))

    Set lcfeld2 = myfldlist.GetField(2)
    zeit(count) = Cdat(lcfeld2.value(0))
    count = count + 1
    Wend


    Print # filenum%, ""


    Print # filenum%, "Notes: " & col.count & " " & "SQL: " & (count)
    Print # filenum%, ""
    For i = 1 To col.count
    check = 0
    Set entry = col.getnthentry(i)
    If count > 0 Then
    For a = 0 To Ubound(ident)
    If Cstr(entry.document.docID(0)) = Cstr(ident(a)) Then
    check = 1
    Goto weiter
    End If
    Next
    End If
    nichtdabei = entry.document.PartnerID(0) & " " & entry.document.NameDisplay(0) & " NICHT AUF SQL mit ChangeDate heute"
    weiter:
    If check = 1 Then
    If entry.document.ChangeDate(0) = zeit(a) Then
    Print entry.document.PartnerID(0) & " " & entry.document.NameDisplay(0) & " passt!"
    Else
    Print entry.document.PartnerID(0) & " " & entry.document.NameDisplay(0) & " passt nicht!"
    Print # filenum%, entry.document.PartnerID(0) & " " & entry.document.NameDisplay(0) & " " & entry.document.ChangeDate(0) & " " & zeit(a)
    End If
    Else
    Print # filenum%,nichtdabei
    End If
    Next
    Close filenum%


    Exit Sub


    '##########################################
    ErrorHandler:
    Messagebox Error$, 16, "Fehler:" & Err
    Exit Sub
    End Sub


    ==================


    ich hoffe ich hab da keinen absoluten bockmist gefragt ^^


    vielen dank schonmal im vorraus :)
    und Frohe Ostern!!

  • hi taurec, sorry das ich mich erst jetzt melde, aber war spontan im urlaub ,-)


    also die fehlermeldung lautet
    Notes error: Unknown LotusScript Error.


    die taucht direkt beim agent.run auf

  • alle aufzurufende agenten haben Ziel : Keins und werden mit laufzeit-sicherheitsstufe 3. Beschränkte Operationen mit vollständigen Admin-rechten zulassen ausgeführt


    war auch mein erster gedanke :)

  • Kann es sein, daß der Agent geschedult auf dem Server aufgerufen wird ?


    Dann hast du nämlich mit deiner Pfadangabe ein Problem, da normalerweise der Domino Server, der unter dem SYSTEM Account läuft, keinen Zugriff aufs Netzwerk hat

  • bis jetzt läuft da nichts scheduled, soll es aber im endeffekt, hab auch an einer anderen stelle bereits gute erfahrungen gemacht, da ruft ein scheduled agent einen anderen auf, und dieser erstellt auch eine datei in einem netzwerk


    dort sind auch die gleichen einstellungen vorhanden


    aber davon weg starte ich immo das aufruf script manuell

  • Wenn du den Prüfagenten, wie du ihn nennst, laufen lässt: an welcher Stelle exakt steigt er aus?

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Ja, schon klar. Meine Vermutung ist, dass innerhalb des von dir so genannten Prüfagenten irgendwo ein Fehler geworfen wird, der aber nicht vernünftig "nach oben" durchgereicht wird.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    ein Agent, der in der Schleife gestartet wird, gibt einen Fehler aus. der Agent kann den Fehler aber an den Agenten, aus dem er aufgerufen wurde, nicht übergeben.


    D.h. der Fehler ist in einem der Agenten zu suchen, die per Agent.run gestartet 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

  • Hallo,


    also die einzelnen Agenten generieren keine Fehlermeldung, und arbeiten tadellos sowohl im frontend als auch im backend, habe mich dafür entschieden die nun alle einzelnd hintereinander zu schedulen


    ich danke euch für eure Hilfe, großes lob :)


    Gruß
    Gregor