Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Dateipfad im .NETheater anpassen

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #579 von Andreas Knobloch
Dateipfad im .NETheater anpassen wurde erstellt von Andreas Knobloch
Hallo Herr Stark,

Sie haben mir bei dem Thema "Dateinamen dynamisch anpassen" schon sehr geholfen. Hier zu habe ich noch ein oder zwei Fragen und zwar:
    Wie kann ich den Pfad für die dynamisch angepasste Datei im Skript mit angeben?
    Wie kann ich in dem FTP-Skript den Pfad wo die Datei liegt mit angeben?

Mit freundlichen Grüßen

Andreas Knobloch

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #581 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
HAllo Zusammen,

mit ein wenig probieren und durch Zufall im Forum gefunden:
Code:
string path = @"C:\Pfadangabe\";

Dafür habe ich zwei neue Sachen in Bezug auf FTP und zwar:
  1. Wie kann ich die FTP-Übertragung erst nach dem Export aus der Datenbank starten?
  2. Die Steuerzeichen \r\n werden in der Steuerdatei als 83770 angezeigt beim "put". Ist dies so richtig?

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #582 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Knobloch,

hier das FTP Skript angepasst mit Pfadangabe. Den Pfad können/müssen Sie im Skript noch ändern.

Zu Ihren weiteren Fragen)
  1. Das müsste nach der Definition manuell oder über eine CMD Batch automatisch ausgeführt werden.

    @echo off
    FHBatch.exe export-bilder.fhd
    ftp –s:ftp.txt

    Damit das funktioniert müsste das Skript angepasst werden, so dass die FTP Steuerdatei alle exportierten Bilder/Dateien enthält. Wenn Sie das wirklich so machen möchten, kann ich das Skript gerne so anpassen.
  2. Mit welchen Editor schauen Sie sich denn die ftp.txt Datei an? Die Steuerzeichen "\r\n" (= HEX 0x0d0a) stehen für den normalen Zeilenumbruch unter Windows.
Code:
public object DoWork() { if (InValues.Length != 1) throw new Exception("1 Eingangsparameter erwartet!"); string ftpserv = "127.0.0.1"; // FTP Server, IP oder DNS string ftpuser = "user"; // hier den FTP User eintragen string ftppass = "password"; // hier das FTP Passwort eintragen string ftpdir = "/upload"; // hier das FTP Verzeichnis angeben // ersten Inputparameter abufen = Dateiname string sFile = (string)InValues[0].GetString(); if (sFile == null) return null; // Dateiname ohne Pfadangabe sFile = Path.GetFileName(sFile); //Hier den Dateipfad ggf. ändern string path = @"C:\Pfadangabe\"; string ftp = ""; ftp += "open " + ftpserv + "\r\n"; ftp += ftpuser + "\r\n"; ftp += ftppass + "\r\n"; ftp += "binary\r\n"; ftp += "put " + Path.Combine(path, sFile) + " " + Path.Combine(ftpdir, sFile) + "\r\n"; ftp += "by\r\n"; // FTP Parameter Datei speichern File.WriteAllText("ftp.txt", ftp); // ftp.exe aufrufen und die oben erstellte Befehlsdatei übergeben System.Diagnostics.Process.Start("ftp.exe", "-s:ftp.txt").WaitForExit(); // Dateiname zuückliefern return sFile; }

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #589 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Stark,

die Steuerzeichen werden richtig erkannt. Ich habe mir am Wochenende durch den Kopf gehen lassen. Ich hatte das ursprüngliche Skript falsch interpretiert. Ich übergeben die Dateiname ja nicht über einen Import.
Zur Erläuterung, in der Definition wird einmal eine Datei mit Datum im Namen erzeugt und per Appendheater und Fileheater eine Datei ohne Datum, diese soll am Ende übertragen werden. Meine Fragen hierzu sind:
  1. Wie kann ich den Dateinamen der erzeugten Datei einlesen bzw. aus dem X-Valueheater
  2. Wie kann ich das Skript (Netheater) für den Upload innerhalb der Definition am Ende (if(EOF)?) starten oder besser in der Batch in welcher die Definition gestartet wird?
Mit freundlichen Grüßen

Andreas Knobloch

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #594 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Knobloch,

zu 1) Ich vermute Sie möchten den erzeugten Dateinamen in die zweite (Protokoll) Datei mit ausgeben? Dazu brauchen Sie nur den Dateinamen erneut zu bilden und dem File Heater zu übergeben. Verwenden Sie anstatt des X-Value Heater das u.s. Skript. Hier wird nur der Dateiname gebildet und zurückgegeben. Im Anhang befindet sich ein kleines Beispiel wie es theoretisch auch ohne Skript (Programmierung) funktioniert. Nur zur Veranschaulichung :)

zu 2) das geht z.Zt. leider nur anschließend über die Batch (CMD) Datei. Demnächst wird es aber dazu im Skript Heater erweiterte Optionen geben, worüber gesteuert werden kann wann das Skript ausgeführt wird.

Anhang dateiname_vormonat.zip wurde nicht gefunden.


gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #601 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Stark,

hat eine Weile mit den anderen Definitionen zu tun.
Zu 1)
Ich habe mir ihr Skript mal angeschaut und es ist auf jeden Fall ein sehr interessanter Weg und die Fähigkeiten von Flowheater kommen auch voll zur Geltung.

Ich denke meine Beschreibung der Aufgabenstellung war nicht ausreichend genug bzw. mißverständlich. Ich möchte nicht den Dateinamen der erstellten Datei in der Datei sonder in der Steuerdatei für den FTPtransfer.

Ich habe ein Beispiel angehängt, hoffe es ist verständlich.

Und zwar soll die Datei die im Layer "Kopie schreiben" erzeugt wird, im letzten Layer in die Steuerdatei geschrieben werden. Geht dies oder ist es sinnvoller den Dateinamen aus dem Kopielayer statisch einzutragen?

Zu 2)
Ok. Dann werde ich dies erstmal über die Batch implementieren.


Mit freundlichen Grüßen

Andreas Knobloch

Anhang Export_Datenbank_Archiv_Kopie_Ftp.zip wurde nicht gefunden.


Mit freundlichen Grüßen
Andreas Knobloch
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #604 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Knobloch,

ich habe Ihr Beispiel etwas angepasst. So können Sie auf die anderen Parameter zugreifen.
Ich glaube aber nicht dass Sie das so durchführen möchten. So wird die geschriebene Archivdatei pro Datensatz der verarbeitet wird an den FTP Server übertragen, die alte Archivdatei wird dabei jeweils mit den neuen angereicherten Inhalt überschrieben.

Besser und wesentlich schneller wäre es wenn Sie den FTP Upload der Archivdatei nachgelagert in der Batch CMD Datei durchführen.

z.B.
Code:
@echo off FHBatch.exe ihre-import-export-definition.fhd ftp –s:upload-archiv.txt

Anhang Export_Datenbank_Archiv_Kopie_ohne_Ftp.zip wurde nicht gefunden.


gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #606 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Stark,

vielen Dank für die Hilfe. In meinem hochgeladenen Beispiel habe ich vergessen den FTP-Aufruf zu entfernen :whistle: . Mit den von ihnen gemachten Änderungen ist mein Problem nun gelöst. Es werden zwei Dateien (mit aktuellem Datum und ohne Datum) erzeugt und eine Steuerdatei die den zweiten Dateinamen enthält.

Ich möchte ihnen an dieser Stelle nochmals ein großes Lob für ihre Unterstützung und für ihr Produkt aussprechen.

Mit freundlichen Grüßen und besten Dank,

Andreas Knobloch

P.S.: Können Sie schon sagen wann der neue NET-Heater zur Verfügung stehen wird?

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #608 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Knobloch,

ich denke das diese Funktion ca. Ende September / Anfang Oktober zur Verfügung stehen wird.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #609 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Stark,

ich musste eben leider feststellen, dass die Zweite Datei immer nur einen Datensatz enthält :( . Es sieht so aus als ob die Datei nach jedem Datensatz gelöscht und neu angelegt wird. Sollte dies nicht im Skript verhindert werden?
Code:
bool bFirst = true; public object DoWork() { // nur beim 1. Datensatz/Zeile if (bFirst) { bFirst = false; //Dateiname kommt jetzt aus dem 1. Übergabeparameter string filename = "C:\\Programme\\FlowHeater V2\\Transfer\\"+ (string)InValues[0].GetString(); if (File.Exists(filename)) { File.Delete(filename); } } return false; }

Wird dieses Skript pro Datensatz ausgeführt? Wenn ja dann wird doch bFirst immer wieder auf "true gesetztg oder nicht?
Habe Sie vielleicht eine Idee?

Mit freundlichen Grüßen,

Andreas Knobloch

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #610 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Knobloch,

sorry mein Fehler, ich hatte in Ihrer Definition was übersehen. Das Problem liegt an ihren File Heater Einstellungen . Hier müssen Sie die Option "vorhandene Datei überschreiben" deaktivieren und die Optionen "Anfügen" und "Zeilenumbruch anfügen" aktivieren.

Zu Ihrer Skript Frage) Das Skript bzw. die Funktion DoWork() wird jedes Mal ausgeführt. Die "Globale" Variable "bFirst" wird aber nur währende der Kompilierung einmalig auf "TRUE" gesetzt.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden um der Konversation beizutreten.

  • Andreas Knobloch
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
12 Jahre 8 Monate her #611 von Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
Hallo Herr Stark,

habe die Option "Anhängen" aktiviert. Ein Fehler ist noch aufgetreten, den konnte ich allerdings beheben. In der Kopie war alles in einer Zeile und ohne Trennzeichen. Im Filehaeter noch Zeilenumbruch aktiviert und im Appendheater das Trennzeichen eingefügt :blush: . Dann klappts auch :) .

Mit freundlichen Grüßen,

Andreas Knobloch

Mit freundlichen Grüßen
Andreas Knobloch

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.328 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.