- Beiträge: 7
CSV Export: Dateinamen dynamisch generieren
- Jens-Uwe Lein
- Autor
- Offline
- Benutzer
Weniger
Mehr
14 Jahre 3 Wochen her #211
von Jens-Uwe Lein
CSV Export: Dateinamen dynamisch generieren wurde erstellt von Jens-Uwe Lein
Hallo,
wir exportieren Daten aus einem SQL Server und würden gerne den Exportdateinamen dynamisch generieren.
In unserem Fall enthalten die Export Daten ein Datumsfeld, welches wir mit dem daraus resultierenden Monat&Jahr für den Dateinamen nutzen möchten.
Gibt es für diese Anforderung einen Lösungsansatz?
Vielen Dank.
J.-U. Lein
wir exportieren Daten aus einem SQL Server und würden gerne den Exportdateinamen dynamisch generieren.
In unserem Fall enthalten die Export Daten ein Datumsfeld, welches wir mit dem daraus resultierenden Monat&Jahr für den Dateinamen nutzen möchten.
Gibt es für diese Anforderung einen Lösungsansatz?
Vielen Dank.
J.-U. Lein
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
14 Jahre 3 Wochen her #212
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: CSV Export: Dateinamen dynamisch generieren
Hallo Herr Lein,
das geht mit dem .NET Script Heater und folgenden kleinen C# .NET Script.
Ziehen Sie den .NET Script Heater per Drag&Drop in irgendeine bestehende Verbindung.
Bitte beachten: Dieses Vorgehen ist wichtig, da sonst der Script Code ohne eine Verbindung zur WRITE Seite darin nicht ausgeführt wird!
Dann formatieren Sie den CSV Dateinamen mit den zur Verfügung stehenden Heatern/Funktionen so wie Sie es benötigen und verbinden den generierten dynamischen CSV Dateinamen als 2. Eingangsparameter mit dem .NET Script Heater. Das Script setzt nun den CSV Dateinamen im WRITE TextFile Adapter auf diesen neuen Namen während der Transformation. Den 1. Eingangsparameter gibt der .NET Script ohne Änderung für die Verarbeitung wieder zurück.
ACHTUNG: Das Ganze funktioniert nur im Massendaten Modus !
Ich habe für Ihre Anforderung ein kleines Beispiel erstellt, siehe Angang "dynamische_csv_export_dateinamen.zip". Das Beispiel verwendet auf der READ Seite den TestData Adapter , hiermit werden lediglich ein paar Testdaten zur Veranschaulichung erzeugt. Der CSV Dateinamen wird hier dynamisch aus einem Datumsfeld, formatiert über den Format Heater , generiert. Der String Append Heater fügt alle Bestandteile des CSV Dateinamen zusammen und übergibt den vollständigen CSV Dateinamen als 2. Eingangsparameter an den .NET Script Heater.
Hinweis: Das Beispiel zeigt wie in einem Exportvorgang gleich mehrere CSV Textdateien geschrieben werden können. Sollten die unterschiedlichen CSV Dateinamen nicht in sortierter Reihenfolge vorliegen (wie in dem Beispiel) müssen Sie hierfür die Option "An vorhandenen Datei anfügen" im Textfile Adapter aktivieren.
das geht mit dem .NET Script Heater und folgenden kleinen C# .NET Script.
Code:
public object DoWork()
{
TextFileAdapter adapter = (TextFileAdapter)AdapterWrite;
if (InValues.Length != 2)
{
throw new Exception("Es werden 2 Eingangsparameter benötigt");
}
// CSV Dateinamen nicht im Test Modus umbiegen!
if (adapter.OnlyTest == false)
{
// den neuen Dateinamen im Textfile Adapter WRITE setzen = 2. Eingangsparameter
// Achtung: dieses Vorgehen funktioniert nur im Massendaten Modus!
adapter.Filename = (string)InValues[1].GetString();
}
// Ersten eingangsparameter einfach wieder zurückliefern!
return InValues[0].GetValue();
}
Ziehen Sie den .NET Script Heater per Drag&Drop in irgendeine bestehende Verbindung.
Bitte beachten: Dieses Vorgehen ist wichtig, da sonst der Script Code ohne eine Verbindung zur WRITE Seite darin nicht ausgeführt wird!
Dann formatieren Sie den CSV Dateinamen mit den zur Verfügung stehenden Heatern/Funktionen so wie Sie es benötigen und verbinden den generierten dynamischen CSV Dateinamen als 2. Eingangsparameter mit dem .NET Script Heater. Das Script setzt nun den CSV Dateinamen im WRITE TextFile Adapter auf diesen neuen Namen während der Transformation. Den 1. Eingangsparameter gibt der .NET Script ohne Änderung für die Verarbeitung wieder zurück.
ACHTUNG: Das Ganze funktioniert nur im Massendaten Modus !
Ich habe für Ihre Anforderung ein kleines Beispiel erstellt, siehe Angang "dynamische_csv_export_dateinamen.zip". Das Beispiel verwendet auf der READ Seite den TestData Adapter , hiermit werden lediglich ein paar Testdaten zur Veranschaulichung erzeugt. Der CSV Dateinamen wird hier dynamisch aus einem Datumsfeld, formatiert über den Format Heater , generiert. Der String Append Heater fügt alle Bestandteile des CSV Dateinamen zusammen und übergibt den vollständigen CSV Dateinamen als 2. Eingangsparameter an den .NET Script Heater.
Hinweis: Das Beispiel zeigt wie in einem Exportvorgang gleich mehrere CSV Textdateien geschrieben werden können. Sollten die unterschiedlichen CSV Dateinamen nicht in sortierter Reihenfolge vorliegen (wie in dem Beispiel) müssen Sie hierfür die Option "An vorhandenen Datei anfügen" im Textfile Adapter aktivieren.
Anhang dynamische_csv_export_dateinamen.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 oder Registrieren um der Konversation beizutreten.
- Jens-Uwe Lein
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 7
14 Jahre 3 Wochen her #213
von Jens-Uwe Lein
Jens-Uwe Lein antwortete auf Aw: CSV Export: Dateinamen dynamisch generieren
Vielen Dank für die Unterstützung, Funktioniert wie gewünscht!
MfG
Lein
MfG
Lein
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.271 Sekunden