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: mySQL > Text - fortlaufend ausführen ID beachten

mySQL > Text - fortlaufend ausführen ID beachten 2 Jahre 2 Monate her #1730

  • Christoph
  • Christophs Avatar
  • Offline
  • Junior Member
  • Beiträge: 20
Hallo Herr Stark,
ich möchte aus einer mySQL Tabelle regelmäßig Daten in eine CSV Datei schreiben lassen. Das funktioniert soweit alles super. Der Aufruf erfolgt per Batch in regelmäßigen Abständen. Es sollen aber nur "neue" Daten exportiert werden.

Ich habe schon etwas überlegt, es könnte z. B. die letzte ID des letzten Datensatzes vom letzten Export für den nächsten Export verwendet werden, aber wie würde der temp. abgelegt?

Theoretisch wäre es auch denkbar, jedem exportiertem Datensatz in einer zusätzlichen Spalte noch eine Art Flag zu setzen?

Ist das mit Flowheater möglich?

Viele Grüße
Der Administrator hat öffentliche Schreibrechte deaktiviert.

mySQL > Text - fortlaufend ausführen ID beachten 2 Jahre 2 Monate her #1731

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

würde gehen, momentan benötigen Sie dazu noch einen Workaround über den File Heater zum temporären speichern der letzten ID in einer zusätzlichen Textdatei „last-export-id.txt„ sowie einem .NET Script Heater der während bzw. vor der Ausführung den letzten exportierten AutoID Wert aus dieser Textdatei liest und damit einen Parameter für die Einschränkung des SELECT auf der READ Seite setzt.

Klingt jetzt etwas kompliziert im Anhang finden Sie ein kleines Beispiel wie es geht. Das Beispiel verwendet anstatt einer MySQL Datenbank eine Accessdatenbank. So können Sie das Beispiel komplett ohne Änderung zum Test bei sich laufen lassen.

Beschreibung
  1. Auf der MySQL READ müssen Sie Ihren SELECT anpassen. z.B. select * from t_export where ID > $LAST-EXPORT-ID$ order by id
    Der Parameter $LAST-EXPORT-ID$ wird bei jedem Lauf dynamisch gesetzt. Wichtig ist, dass Sie anhand des AutoID Wertes sortieren!

  2. Damit der Parameter $LAST-EXPORT-ID$ vor jedem Lauf dynamisch geladen bzw. gesetzt wird, benötigen Sie einen .NET Script Heater. Das verwendete Skript finden Sie weiter unten bzw. im Beispiel. Wichtig ist hier, dass Sie im Skript „ausführen bei“ auf „Start“ stellen.

  3. Jetzt müssen Sie den FlowHeater noch beibringen, dass der letzte AutoID Wert in die Datei „last-export-id.txt“ geschrieben wird. Dazu verwende ich im Beispiel den File Heater. Dieser benötigt als Parameter einmal den Dateinamen sowie den eigentlichen Wert, der in die Datei geschrieben wird. Der Dateiname wird hier statisch über den X-Value Heater übergeben. Den AutoID Wert jage ich vorher noch in einen String Format Heater, dieser formatiert den Zahlenwert als Ganzzahl sowie ohne tausender Trennzeichen.

.NET Script Code
public object DoWork()
{
	string lastID = "0";

	// Datei mit dem letzten EXPORT AutoID Wert öffnen und lesen, wenn nicht vorhanden wird 0 verwendet.
	if (File.Exists("last-export-id.txt"))
		lastID = File.ReadAllText("last-export-id.txt");

	// Parameter für den SELECT setzen
	Parameter["LAST-EXPORT-ID"].Value = lastID;

	return null;	
}


Dateianhang:

Dateiname: nur-neue-d...wert.zip
Dateigröße:11 KB
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.
Letzte Änderung: 2 Jahre 2 Monate her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

mySQL > Text - fortlaufend ausführen ID beachten 2 Jahre 2 Monate her #1732

  • Christoph
  • Christophs Avatar
  • Offline
  • Junior Member
  • Beiträge: 20
Hallo Herr Stark,
perfekt, wie so oft eine super Lösung! Habe es schon ausprobiert und läuft!

Danke und Grüße!
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.079 Sekunden