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: FileName auf Writeseite zyklisch ändern

FileName auf Writeseite zyklisch ändern 5 Jahre 5 Monate her #520

  • Tim
  • Tims Avatar
  • Offline
  • Junior Member
  • Beiträge: 32
Hallo Herr Stark,

ein Special-Problem, wie ich vermute:

Ich muss irgendwie programmatisch aus einem der Heater heraus auf den Filename der Writeseite Einfluß nehmen.
Etwa indem ich die Ausgabe der Writeseite in mehrere Files aufsplitte und entsprechend benenne.

Ist das irgendwie möglich, gibt es oder gab es da schon mal etwas?


Ich wusste ich habe etwas vergessen:
2. Ist es möglich, die o.g. Dateien größenmäßig zu begrenzen, nach Anzahl Datensätze oder nach KBytes?

Vielen Dank


Der Replaceheater hat einen größeren Anteil der NET.Script-Heater in einigen meiner *.fhd's abgelöst, der ist wirklich genial. :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: FileName auf Writeseite zyklisch ändern 5 Jahre 5 Monate her #525

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Kein Spezialfall, mittlerweile Standard :)

Dateien anhand der Größe aufzusplitten ist leider nicht möglich. Über folgendes Skript können Sie das aber anhand der Anzahl der verarbeiteten Datensätze erledigen.

Das Skript bzw. den .NET Script Heater einfach zwischen eine bestehende Verbindung setzen. Wichtig: Diese Verarbeitung funktioniert nur im Massendaten Modus!
int lines = 0;
int files = 0;

public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("1 Parameter erwartet!");
  
  // Dateiname nicht im Testmodus setzen!
  if(AdapterWrite.OnlyTest == true)
    return InValues[0].GetValue();

  if (lines > 100 || files == 0)
  {
    // Zeilenzähler zurücksetzen
    lines = 0;

    // Dateizähler hochzählen
    files++; 

    // Write Adapter holen
    TextFileAdapter adapter = (TextFileAdapter)AdapterWrite;

    // Dateibname neu setzen
    adapter.Filename = "output_" + files.ToString() + ".csv";
  } 

  // Zeilenzähler hochsetzen
  lines++;

  // Eingangsparameter für weitere Verarbeitung wieder zurückliefern
  return InValues[0].GetValue();
}
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.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.080 Sekunden