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: Anzahl der bearbeiteten Zeilen per batch einschränken

Anzahl der bearbeiteten Zeilen per batch einschränken 3 Jahre 9 Monate her #1247

  • Christoph
  • Christophs Avatar
  • Offline
  • Junior Member
  • Beiträge: 20
Hallo zusammen,
ich habe eine Datei mit ca. 300.000 Zeilen. Diese Datei muss für die Weiterverarbeitung aufbereitet werden. Flowheater kann das ohne Probleme. Mein Problem ist aber, dass im nächsten Schritt (mit einem anderen Programm) nur eine bestimmte Anzahl, z. B. x = 10.0000 Datensätze verarbeitet werden können.
Deshalb suche ich nach einer Lösung, bei der z. B. durch ein Batch script von der 300.000 Zeilen Datei nur die ersten x Zeile bearbeitet werden. Beim zweiten Aufruf der Batchdatei werden dann die nächsten x Zeilen bearbeitet... So lange, bis die 300.000 Datensätze durch sind.

Kann man das irgendwie realisieren?

Vielen Dank für Eure Hilfe.

MFG
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Anzahl der bearbeiteten Zeilen per batch einschränken 3 Jahre 9 Monate her #1248

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Christoph,

über mehrere Aufrufe des Batch Moduls nacheinander ist das leider nicht möglich. Was aber Problemlos möglich ist während des Batch Exportes gleich mehrere CSV Dateien zu erzeugen bzw. die Datensätze in einzelnen CSV Dateien zu splitten.

Sie benötigen dazu einen Parameter $FILE$ sowie ein kleines Skript für den .NET Script Heater das den Parameter anhand der aktuelle verarbeiteten Zeile setzt, so dass ab x verarbeiteten Zeilen eine neue CSV Datei generiert wird.

Ich habe Ihnen dazu ein kleines Beispiel erstellt. Hier werden 10 CSV Textdateien generiert output_1.csv bis output_10.csv. Pro CSV Textdatei werden 1.000 Zeilen geschrieben.

Den Parameter $FILE$ müssen Sie dabei als Dateiname im Textfile Adapter verwenden. Ich denke wenn Sie sich das Beispiel ansehen sollten Sie zurechtkommen. Im Skript müssen Sie den Export Dateinamen anpassen sowie die Anzahl an Datensätzen die Sie maximal pro Datei exportieren möchten. Die Stellen sind mit Kommentaren versehen wo sie Änderungen eintragen können.

Hier das Skript)
int aktfile = 0;

public object DoWork()
{
  // Dateiname hier ggf. anpassen. {0} muss vorhanden bleiben!
  // es gehen auch absolute Pfadangaben
  string filename = "output_{0}.csv";

  // Anzahl zeilen anpassen bei der eine neue Datei erzeugt werden soll
  int MaxRows = 1000;

  int aktrow = (int)InValues[0].GetInt() - 1;

  // ab hier nichts mehr ändern
  if ((aktrow + MaxRows) % MaxRows == 0)
    aktfile++;

  // generierten Dateinamen für den SET Parameter Heater zurückgeben
  return String.Format(filename, aktfile);
}

Anhang mehrere_dateien_exportieren.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: Anzahl der bearbeiteten Zeilen per batch einschränken 3 Jahre 8 Monate her #1259

  • Christoph
  • Christophs Avatar
  • Offline
  • Junior Member
  • Beiträge: 20
Vielen Dank Herr Stark.

Das ist wiedermal (wie so oft ;-) ) eine perfekte Lösung!

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