- Beiträge: 37
mySQL > Text - fortlaufend ausführen ID beachten
- Christoph
- Autor
- Offline
- Benutzer
Weniger
Mehr
10 Jahre 1 Monat her #1730
von Christoph
mySQL > Text - fortlaufend ausführen ID beachten wurde erstellt von Christoph
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
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
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 1 Monat her - 10 Jahre 1 Monat her #1731
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 mySQL > Text - fortlaufend ausführen ID beachten
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
.NET Script Code
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
- 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! - 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.
- 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
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;
}
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:
Letzte Änderung: 10 Jahre 1 Monat her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Christoph
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 37
10 Jahre 1 Monat her #1732
von Christoph
Christoph antwortete auf mySQL > Text - fortlaufend ausführen ID beachten
Hallo Herr Stark,
perfekt, wie so oft eine super Lösung! Habe es schon ausprobiert und läuft!
Danke und Grüße!
perfekt, wie so oft eine super Lösung! Habe es schon ausprobiert und läuft!
Danke und Grüße!
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.266 Sekunden