Datei größe Validieren

  • Beitrag
    Michael Roth
    Teilnehmer
    Wir hatten neulich folgendes Problem:
    Produktionsrelevante Daten wurden durch einen kleinen Netzwerkfehler nicht vollständig auf den Zielserver geschrieben, TC war aber der Meinung die Daten seien vollständig.

    Für uns stellt sich jetzt die Frage, ob eine nachträgliche Validierung der Daten anhand der Dateigröße möglich ist.

    Gemäß des hier geposteten HowTo’s ist es ja möglich die Anhangsgröße einer TC-Nachricht auszulesen (https://community.transconnect-online.de/thema/howto-groesse-von-nachrichtenanhaengen-auslesen/).

    Ist es möglich damit zu vergleichen, ob der Nachrichtenanhang der Größe der Originaldatei entspricht und ob die abgelegte Datei auch die passende Größe hat?

    0
    0
Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Antworten
    Grundsätzlich könnte man in einem Prozess nach der Schreiboperation per LISTFOLDER die Größe der Datei ermitteln und mit der Länge des Anhangs vergleichen.
    Je nach Zielsystem ist aber nicht ausgeschlossen, dass abweichende Zahlen gemeldet werden (z.B. Größe in Bytes vs Größe auf Datenträger).

    Um zu prüfen, ob es sich um einen Fehler in TRANSCONNECT handelt, haben wir noch ein paar Rückfragen:
    – Es geht hier um einen Dateiadapter, der eine Datei auf einen anderen Computer schreibt?
    – Welcher Verbindungstyp wird hier verwendet?
    – Die Schreiboperation meldet keine Warnungen oder Fehler im Log?
    – Die Datei ist auf dem Zielhost angelegt worden, aber unvollständig?
    – Ist ein Problem des Zielsystems (FTP-Server etc.) ausgeschlossen?
    – Tritt das Problem wiederholt auf? Ist es nachstellbar oder hängt es von der Größer der Datei ab?

    Ihr TRANSCONNECT-Team

    0
    0
    Michael Roth
    Teilnehmer
    Um Ihre Fragen zu beantworten:

    • Ja, es geht um einen Dateiadapter (SMB)
    • Verbindungstypen:
      • Datenabholung: FTP
      • Datenablage: SMB
    • Datei ist unvollständig auf einem der Zielhosts (sie wird auf 2 geschrieben)
    • Log sah bei der prüfung sauber aus
    • Zielserver funktioniert; es kann maximal ein kurzer Netzwerkabbruch sein
    • Das Problem tritt sporadisch auf

    Mein Plan war, dass wir die Ursprungsdatei auf ihre Größe prüfen und dann schauen, ob die abgelegten Dateien dieser entsprechen.

    Alternativ, dass der TC bei kurzem Netzwerkabbruch die Datei nochmal gegenprüft und ggf. nochmal schreibt.

    0
    0
    Markus Franke
    Administrator
    Sehr geehrter Herr Roth,

    besteht das Problem denn immernoch bei ihnen?

    Welche TRANSCONNECT Version setzen sie ein und könnten sie uns ggf. die Adapterlogs mit aktivierter erweiterer Protokollierung zukommen lassen?

    Wenn sich dort keine Fehler finden lassen und TRANSCONNECT auch sonst keine Fehlermeldungen vom Zielsystem empfängt dann bleibt ihnen in der Tat nur der Workaround den Herr Uhr weiter oben schon erläutert hat. Dieser hat die bereits beschriebene Einschränkung, dass die ermittelte Dateigröße sich u.U. unterscheiden kann obwohl der Dateiinhalt an sich identisch ist.

    Ihr TRANSCONNECT-Team

    0
    0
    Michael Roth
    Teilnehmer
    Hallo Herr Franke,

    der Fehler besteht sporadisch weiterhin.

    Wir haben jetzt intern überlegt, da die Dateigröße keine hinreichend qualifizierte Prüfmethode ist, ob es nicht möglich ist, dass TC eine Prüfsumme für die eingelesene Datei erzeugt.

    Diese könnte dann mit der abgelegten Datei verglichen werden. Sind diese ungleich wird der Prozess erneut ausgeführt. (Die Prüfsumme müsste dann als Variable zwischengespeichert werden)

    Ist das möglich?

    0
    0
    Markus Franke
    Administrator
    Hallo Herr Roth,

    eine Prüfsummenfunktion gibt es so derzeit noch nicht. Wir würden uns intern dazu nochmal abstimmen ob wir das eventuell in unser Backlog aufnehmen werden.

    1. Alternativ könnten sie aber eine Java Erweiterung (Plugin-Adapter) erstellen, der die Checksum-Funktion übernimmt. Das Ergebnis können sie zwischenspeichern und die Datei danach ihrem Ziel zuführen. Für einen abschließenden Vergleich der Prüfsummen, wäre es dann natürlich notwendig die Datei erneut vom Zielsystem zu lesen, die Prüfsumme im Plugin-Adapter zu generieren um dann abschließend einen Vergleich durchzuführen.

    2. Je nachdem auf welchem System ihr TRANSCONNECT läuft wäre es außerdem möglich die Datei temporär lokal zwischenzuspeichern und über den Kommandzeilenadapter mit einem Shell-Kommando (z.B. “md5sum” unter Linux) die Prüfsumme zu berechnen. Das bietet sich natürlich aber nur an wenn die Anzahl der übertragenen Dateien nicht allzu groß ist.

    Beide “Lösungen” sind nicht wirklich elegant aber derzeit ist es leider nicht anders möglich.

    Beste Grüße,
    Markus Franke

    0
    0
Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.