Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: CSV Export: Dateinamen dynamisch generieren

CSV Export: Dateinamen dynamisch generieren 6 Jahre 1 Monat her #211

  • Jens-Uwe Lein
  • Jens-Uwe Leins Avatar
  • Offline
  • New Member
  • Beiträge: 7
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export: Dateinamen dynamisch generieren 6 Jahre 1 Monat her #212

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Lein,

das geht mit dem .NET Script Heater und folgenden kleinen C# .NET Script.
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 nicht gefunden

Anhang:
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: CSV Export: Dateinamen dynamisch generieren 6 Jahre 1 Monat her #213

  • Jens-Uwe Lein
  • Jens-Uwe Leins Avatar
  • Offline
  • New Member
  • Beiträge: 7
Vielen Dank für die Unterstützung, Funktioniert wie gewünscht!
MfG

Lein
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.082 Sekunden