- Beiträge: 38
Dateipfad im .NETheater anpassen
- Andreas Knobloch
- Autor
- Offline
- Benutzer
Weniger
Mehr
12 Jahre 8 Monate her #579
von Andreas Knobloch
Mit freundlichen Grüßen
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:
Mit freundlichen Grüßen
Andreas Knobloch
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
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #581
von Andreas Knobloch
Mit freundlichen Grüßen
Andreas Knobloch
Andreas Knobloch antwortete auf Aw: Dateipfad im .NETheater anpassen
HAllo Zusammen,
mit ein wenig probieren und durch Zufall im Forum gefunden:
Dafür habe ich zwei neue Sachen in Bezug auf FTP und zwar:
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:
- Wie kann ich die FTP-Übertragung erst nach dem Export aus der Datenbank starten?
- 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.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #582
von FlowHeater-Team
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.
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)
hier das FTP Skript angepasst mit Pfadangabe. Den Pfad können/müssen Sie im Skript noch ändern.
Zu Ihren weiteren Fragen)
- 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. - 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
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #589
von Andreas Knobloch
Mit freundlichen Grüßen
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:
Andreas Knobloch
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:
- Wie kann ich den Dateinamen der erzeugten Datei einlesen bzw. aus dem X-Valueheater
- 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?
Andreas Knobloch
Mit freundlichen Grüßen
Andreas Knobloch
Bitte Anmelden um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #594
von FlowHeater-Team
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.
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.
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.
Bitte Anmelden um der Konversation beizutreten.
- Andreas Knobloch
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #601
von Andreas Knobloch
Mit freundlichen Grüßen
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
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
Bitte Anmelden um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #604
von FlowHeater-Team
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.
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.
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.
Bitte Anmelden um der Konversation beizutreten.
- Andreas Knobloch
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #606
von Andreas Knobloch
Mit freundlichen Grüßen
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?
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.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #608
von FlowHeater-Team
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.
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.
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
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #609
von Andreas Knobloch
Mit freundlichen Grüßen
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?
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
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.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #610
von FlowHeater-Team
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.
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.
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
Weniger
Mehr
- Beiträge: 38
12 Jahre 8 Monate her #611
von Andreas Knobloch
Mit freundlichen Grüßen
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
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