[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Nov 2007
    Beiträge
    371
    pps: @ Pikachu

    danke aber ich habe diesen befehl noch nie gebraucht .

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich hab ja nicht gesagt, dass die Probleme mit der iSeries zu tun haben.
    Beispiel (hat nichts mit diesem Problem zu tun):

    TCP/IP ist eine sog. offene Verbindung ohne Polling o.ä.

    Beim ODBC-Zugriff werden die Daten ja per Fetch abgeholt.
    Durch das Blocken dauert der Fetch ggf. etwas länger, da die iSeries eben erst mal sammelt.
    Bricht nun das Netz kurzfristig zusammen, kann die iSeries nicht senden und trennt den Job.
    Der Empfänger bekommt von dem gar nichts mit, da TCP/IP glaubt, die Daten kommen schon noch irgendwann.
    Komischerweise schlägt hier kein Timeout auf. Der ODBC-Thread hängt sich komplett auf.
    Ein Kill-Thread von einem Überwachungs-Thread aus, funktioniert auch nicht, da der ODBC-Treiber nun einen Close auf die Connection machen will, dabei aber auf das Ende der Operation des Fetch wartet, der ja nie fertig wird.
    Hier hilft dann manchmal ein TerminateProcess, manchmal aber auch nicht.
    Um den gesamten Prozess dann tatsächlich zu beenden hilft hier nur, von einem weiteren Thread der ggf. mehrfache Aufruf "TASKKILL /PID 12345 /F" bis der Prozess endlich weg ist.
    Das Problem ist nach 5 Tagen testen und probieren somit gelöst.

    Es gibt noch so ein paar Hinweise zum Thema "KeepAlive" bei TCP/IP, was aber zentrale IP-Einstellungen für den gesamten Server bedeuten und ggf. "Offline"-Probleme bei anderen, wirklich lang wartenden Prozessen, bedeuten würde.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #15
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    @Baldur: Stimme dir zu. Ich bin froh nicht diese Probleme lösen zu müssen
    Dieses oder zumindest ein ähnliches Problem hatte ich auch mit ODBC in .Net. Habs dann mit dem IBM.DB2.Net Provider proibert und dort ging es dann.

  4. #16
    Registriert seit
    Nov 2007
    Beiträge
    371
    ich weiß zwar jetzt nicht genau ob dir das hilft aber per z.b.

    netstat -ano

    kann man in der commando zeile die offenen verbindungen des computers abfragen. aslo kann man das doch auch programmieren . fehlt dann dieser odbc eintrag/port ist die verbindung doch gekappt worden .

    evtl schreib ich ja ier jetzt den totalen müll weil ich zu wenig in deinem problem drinnen bin

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das liegt nicht am Provider, da es in den Tiefen der Sockets verborgen ist.
    Man findet diesbezüglich auch mit .NET ähnliche TCP/IP Hinweise in Google bis zum Hängenbleiben der Anwendung.
    Selbst der Garbage-Collector hängt sich auf da sich TCP/IP-Ressourcen nicht freigeben lassen.
    Das Schlimme beim Testen ist ja, den genauen Zeitpunkt für die Netztrennung zu erwischen. Im Debug-Modus funktionierts meistens nämlich nicht, da ja alles gebremst ist und der Fehler reproduzierbar nur 1x bei 10 oder mehr Versuchen klappt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #18
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Der netstat liefert ja die Verbindung noch als offen, da diese lesend wartet!
    Während des Lesens kann man ja kein Ping oder sonstwas auf der selben Verbindung machen da diese ja gerade liest. Und eine neue Verbindung klappt ja da das Netz wieder da ist.
    Es geht also nur um eine kurzfristige Unterbrechung, wenn der Sender gerade schreibt und daher disconnected und der Empfänger eben ewig wartet.

    PS:
    Das passiert auch schon mal bei 5250-Verbindungen, wenn nach Funktionstaste auf AS/400 gewartet wird und der Job auf der AS/400 auf Grund der Unterbrechung trennt oder umgekehrt, die AS/400 trennt den Job nicht, was aber mit CHGTELNA beeinfussbar ist (Defualt 2 Stunden!).
    Da hilft auch kein 5250-KeepAlive, da die Unterbrechung zu kurz war, so dass der Keepalive, der ja eine 2. Verbindung braucht, beantwortet wurde.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #19
    Registriert seit
    Nov 2007
    Beiträge
    371
    ich raffs nicht . ändert sich dann der status nicht von hergestellt auf weiß der geier was ??
    aber das problem wird ja sein das du sie ständig überprüfen müsstest . sprich z.b. dummy select = true oder halt wirklich prüfen per funktion ob die verbindung zum server noch da ist aber das geht ja auch die performance ..

    programmieren kann man das ja alles .

    evtl hilft dir das a bissi weiter

    Set Keep-Alive Values - CodeProject



  8. #20
    Registriert seit
    Nov 2007
    Beiträge
    371
    ps du kannst doch aber auch beim odbc treiber unter verbindungspools mit der zeit spielen wenn du den nur speziell für diese connection brauchst ..

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich glaub dir ja dass du es nicht raffst.
    Also:
    Du hast eine Verbindung, die man sich als Rohr vorstellen muss.
    Du unterhältst dich über genau dieses Rohr mit dem Partner in dem du eine Frage stellst, das Rohr also am Mund hast, und auf die Antwort wartest, also das Rohr ans Ohr hängst.
    Während du also auf dem Rohr wartest, will der andere dir antworten, stellt aber fest, dass das Rohr defekt ist und legt sein Ende weg.
    Da dir nun die Antwort zu lange dauert, du das Rohr vom Ohr aber nicht wegnehmen kannst, stellst du nun über ein 2. Rohr die Frage "Bist du noch da?" und bekommst die Antwort "ja".
    Also wartest du auf dem 1. Rohr weiter auf die Antwort.
    Dieses Keepalive-Spielchen dauert nun ewig, da ja die Verbindung über das 2.Rohr geht nur das 1. Rohr ja kaputt ist.
    Leider muss man nun das 1. Rohr irgendwie von deinem Ohr wieder wegbekommen, was du aber nicht zulässt da du behauptest "Ich arbeite doch noch".
    Hier hilft leider nur, so leid es mir tut, dich zu erschießen und einen neuen Arbeiter zu nehmen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #22
    Registriert seit
    May 2002
    Beiträge
    1.121
    Das ist doch mal ne Sprache, die jeder versteht

Similar Threads

  1. Datei vom Host zum PC per FTP im CL
    By dressel in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 07-10-13, 06:32
  2. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  3. Datei aus IFS holen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-05-06, 13:47
  4. Abfrage im CL auf aktive Sätze einer Datei
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 14-03-06, 09:37
  5. IFS Datei berechtigungen
    By PGMR in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-06-05, 15:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •