none
VB.net Konsolenprogramm läuft nicht mehr über Aufgabenplaner - Fehler (0xE0434352) RRS feed

  • Frage

  • Hallo zusammen,

    ich hoffe Ihr könnte mir helfen.
    Ich habe ein Konsolenprogramm welches alle 3 Stunden laufen soll. Dabei werden Daten aus einer SQL-Datenbank ausgelesen, aufbereitet und zur weiteren Verarbeitung auf einen FTP-Server geladen. Früher lief das Programm nur 1x am Tag, hierbei gab es auch keinerlei Probleme. Daten wurden ausgelesen und auch hochgeladen. Seit dem ich aber den Aufgabenplaner angepasst habe, also dass das Programm alle 3h laufen sollen, schmeißt mir der Aufgabenplaner den Fehlercode 0xE0434352. Ich habe auch schon ein wenig in Google gesucht aber leider nichts brauchbares gefunden. Ich habe um den Main-Block mal ein Try-Catch eingefügt und seit dem kommt auch die Meldung im Aufgabenplaner nicht mehr (der Aufgabenplaner sagt es wurde erfolgreich abgeschlossen), aber etwas auslesen oder hochladen tut mein Tool leider immer noch nichts. Laut Aufgabenplaner läuft mein Programm dann genau 0 Sekunden, wenn es gestartet wird ...
    Ich habe auch Logging-Funktion in meinem Programm, aber es werden keinerlei Fehlermeldungen oder Statuszeilen (die ich testweise eingefügt habe) geloggt. Wenn ich das Tool manuell starte läuft es ohne Probleme durch. Habt ihr eine Idee woran das liegen kann? 
    Ich bin über jede Hilfe glücklich!

    Vielen Dank und liebe Grüße
    Marion


    • Bearbeitet Marion.M Donnerstag, 9. Oktober 2014 14:17
    Donnerstag, 9. Oktober 2014 14:15

Antworten

Alle Antworten

  • Hallo Marion,

    try catch ist schon mal gut, nur musst Du den Fehler protokollieren, um ihn eingrenzen zu können. Was sich schwierig gestalten kann, weil es der Fehlercode Problem bei der CLR vermuten lässt, was auch ein Logging verhindern kann. Wenn nichts ankommt, schreib die Daten in separate eine Datei, die in einem freizugänglichen Verzeichnis liegt.

    Da das Programm schon mal gelaufen ist, schau bitte auch nach, ob sich an den Rechten etwas verändert hat, oder Kennwörter geändert wurden. Im Zweifelsfall richte den Auftrag neu ein.

    Siehe http://stackoverflow.com/questions/913472/why-is-unhandledexceptioneventargs-exceptionobject-an-object-and-not-an-exceptio

    und http://stackoverflow.com/questions/14711633/my-c-sharp-application-is-returning-0xe0434352-to-windows-task-scheduler-but-it

    (dort werden u. a. gemappte Laufwerke erwähnt, so etwas sollte man in Aufträgen vermeiden und mit UNC Freigaben arbeiten)

    Gruß Elmar

    Donnerstag, 9. Oktober 2014 18:21
    Beantworter
  • Hallo Elmar, 

    danke für die schnelle Antwort. Ich habe es testweise noch den Aufgabenplaner auf 1x am Tag umgestellt. Jetzt ist es heute Nacht um 4 durchgelaufen, ohne Probleme. Das Loggen der einzelnen Schritte hat auch funktioniert. In dem Try-Catch-Block habe ich im Catch-Block auch eine Loggingfunktion eingebaut. Aber wie gesagt es wird ja nichts geloggt. Die Aufgabe habe ich auch schon einmal komplett neu gemacht. Kennwörter und Rechte haben sich auch nicht geändert. Die Logging-Daten und die Daten die auf den FTP-Server hochgeladen werden sollen werden in einem offen zugänglichen Ordner abgespeichert (C:\...). 
    Ich finde es halt merkwürdig, dass wenn ich die Aufgabe 1x am Tag Nachts starten lasse es ohne Probleme klappt, aber dann mehrmals bringt er den Fehler. Ich probiere es nochmal über die eine Aufgabe es nun 2x am Tag laufen zu lassen und warte dann ab ob es geklappt hat. 

    Danke für deine Hilfe!

    Gruß
    Marion

    Freitag, 10. Oktober 2014 06:16
  • Hallo Marion,

    Du solltest UnhandledException behandeln und als erstes am Anfang von Main. Das ExceptionObject ist, wie oben nachzulesen, nicht immer eine CLR Exception, womit ein Try Catch mit Exception nicht funktioniert.

    Ansonsten:

    Wie lange läuft das Programm, wenn es einmalig gestartet wurde?

    Was passiert, wenn Du es via Aufgabenplaner startest und sobald es läuft, versuchst es vom Desktop erneut (parallel) zu starten?

    Gruß Elmar

    Freitag, 10. Oktober 2014 08:48
    Beantworter