- Beiträge: 2
Zeitstempel bei Update/Anfügen
- Toni Wilhelm
- Autor
- Offline
- Benutzer
Weniger
Mehr
7 Jahre 4 Monate her #3260
von Toni Wilhelm
Zeitstempel bei Update/Anfügen wurde erstellt von Toni Wilhelm
Hallo!
Ich bin seit kurzem mit Flowheater in Kontakt gekommen und würde gern erfragen, ob folgender Anwendungsfall damit abzubilden ist:
Ausgangssituation:
TXT-Datei wird in eine SQL-Datenbank (SQL Server 2012) importiert mit insert+update von Datensätzen
Kann man nun einen Zeitstempel auf der SQL-Seite in einem Feld erzeugen, der entweder das Anlagedatum bei einem neuen Datensatz oder das Änderungsdatum bei einem Update enthält? In beiden Fällen müsste jeweils das aktuelle Datum (Now-Funktion?) geschrieben werden, wenn in der SQL-Tabelle der Datensatz bisher nicht vorhanden war oder sich Werte geändert haben. Insbesondere bei Updates wäre dann noch interessant zu wissen, ob man die betreffenden Felder explizit prüfen muss oder es eine generelle Prüfmöglichkeit gibt?
Dank vorab für die Hilfe!
Toni
Ich bin seit kurzem mit Flowheater in Kontakt gekommen und würde gern erfragen, ob folgender Anwendungsfall damit abzubilden ist:
Ausgangssituation:
TXT-Datei wird in eine SQL-Datenbank (SQL Server 2012) importiert mit insert+update von Datensätzen
Kann man nun einen Zeitstempel auf der SQL-Seite in einem Feld erzeugen, der entweder das Anlagedatum bei einem neuen Datensatz oder das Änderungsdatum bei einem Update enthält? In beiden Fällen müsste jeweils das aktuelle Datum (Now-Funktion?) geschrieben werden, wenn in der SQL-Tabelle der Datensatz bisher nicht vorhanden war oder sich Werte geändert haben. Insbesondere bei Updates wäre dann noch interessant zu wissen, ob man die betreffenden Felder explizit prüfen muss oder es eine generelle Prüfmöglichkeit gibt?
Dank vorab für die Hilfe!
Toni
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
7 Jahre 4 Monate her - 7 Jahre 4 Monate her #3261
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 Zeitstempel bei Update/Anfügen
Hallo Herr Wilhelm,
ich vermute jetzt mal der Zeitstempel soll bei Import und Update jeweils in ein anderes Feld geschrieben werden?
Der einfachste Weg das zu tun wäre es über zwei separate FlowHeater Definitionen auszuführen, so führt der FlowHeater die benötigten Prüfungen automatisch durch.
Zuerst führen Sie die nur UPDATE Definition aus. Hier müssen Sie im SQLServer Adapter lediglich die Option „Daten aktualisieren (Update)“ aktivieren. So prüft der SQLServer Adapter anhand des angegebene Primary Keys ob der betroffene Datensatz existiert und führt nur in diesem Fall ein UPDATE aus.
Anschließend führen Sie die nur INSERT Definition aus. Hier müssen Sie die Optionen „Daten anfügen (Insert)“ und „Vorhandene Datensätze ignorieren“ aktivieren. So prüft der SQLServer Adapter anhand des angegeben Primary Key ob der anliegende Datensatz schon existiert und führt nur einen INSERT aus falls nicht.
Hinweis: Über das Batch Modul können die beiden Definitionen automatisert nacheinander ausgehführt werden!
Der etwas schwierigere Weg ist über eine Definition. Hier müssen Sie in der Definition selbst prüfen ob der gerade anliegende CSV Satz in der Datenbank bereits vorhanden ist. Die Prüfung können Sie über den Lookup Heater oder aber den SQL Heater durchführen. Falls Sie das benötigen bitte die Zeitstempel Felder sowie die/den Primary Key etwas genauer beschreiben dann kann ich Ihnen hierfür ein kleines Beispiel erstellen.
ich vermute jetzt mal der Zeitstempel soll bei Import und Update jeweils in ein anderes Feld geschrieben werden?
Der einfachste Weg das zu tun wäre es über zwei separate FlowHeater Definitionen auszuführen, so führt der FlowHeater die benötigten Prüfungen automatisch durch.
Zuerst führen Sie die nur UPDATE Definition aus. Hier müssen Sie im SQLServer Adapter lediglich die Option „Daten aktualisieren (Update)“ aktivieren. So prüft der SQLServer Adapter anhand des angegebene Primary Keys ob der betroffene Datensatz existiert und führt nur in diesem Fall ein UPDATE aus.
Anschließend führen Sie die nur INSERT Definition aus. Hier müssen Sie die Optionen „Daten anfügen (Insert)“ und „Vorhandene Datensätze ignorieren“ aktivieren. So prüft der SQLServer Adapter anhand des angegeben Primary Key ob der anliegende Datensatz schon existiert und führt nur einen INSERT aus falls nicht.
Hinweis: Über das Batch Modul können die beiden Definitionen automatisert nacheinander ausgehführt werden!
Der etwas schwierigere Weg ist über eine Definition. Hier müssen Sie in der Definition selbst prüfen ob der gerade anliegende CSV Satz in der Datenbank bereits vorhanden ist. Die Prüfung können Sie über den Lookup Heater oder aber den SQL Heater durchführen. Falls Sie das benötigen bitte die Zeitstempel Felder sowie die/den Primary Key etwas genauer beschreiben dann kann ich Ihnen hierfür ein kleines Beispiel erstellen.
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: 7 Jahre 4 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Toni Wilhelm
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 2
7 Jahre 4 Monate her #3262
von Toni Wilhelm
Toni Wilhelm antwortete auf Zeitstempel bei Update/Anfügen
Hallo,
also mir würde ein Feld genügen, in dem quasi der Datenstand des Datensatzes festgehalten ist - d.h. entweder wann er erstellt oder wann er geändert wurde.
Es muss also ein bisher noch nicht vorhandenes Feld [letzte_Änderung] mit dem aktuellen Datum gefüllt werden und es existieren 4 Primary Keys (Firma, Schlüssel, Ausprägung, Merkm).
Ich würde die Variante per Definition bevorzugen - können Sie mir hierzu ein kleines Beispiel geben.
Danke nochmals!
T.Wilhelm
also mir würde ein Feld genügen, in dem quasi der Datenstand des Datensatzes festgehalten ist - d.h. entweder wann er erstellt oder wann er geändert wurde.
Es muss also ein bisher noch nicht vorhandenes Feld [letzte_Änderung] mit dem aktuellen Datum gefüllt werden und es existieren 4 Primary Keys (Firma, Schlüssel, Ausprägung, Merkm).
Ich würde die Variante per Definition bevorzugen - können Sie mir hierzu ein kleines Beispiel geben.
Danke nochmals!
T.Wilhelm
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
7 Jahre 4 Monate her #3264
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 Zeitstempel bei Update/Anfügen
Hallo Herr Wilhelm,
das ist dann noch einfacher Das Feld für das Datum müssten Sie vorher allerdings von Hand anlegen, das unterstützt der FlowHeater noch nicht, ist aber in Planung.
Dann müssen Sie im SQLServer Adapter die Optionen „Daten anfügen (Insert)“ und „Daten aktualisieren (Update)“ aktivieren, siehe Screenshot.
Wenn beim Auslesen der Tabelle die Primary Keys erkannt wurden sollte im Designer für diese Felder ein Schlüsselsymbol angezeigt werden.
Zu diesen Feldern müssen Sie von der READ Seite eine Verbindung herstellen. Anschließend verbinden Sie noch die Felder die Sie einfügen bzw. aktualisieren möchten sowie eine Verbindung vom Now Heater mit dem oben hinzufügten Datums bzw. DateTime Feld.
Der FlowHeater entscheidet so anhand der Primary Key Informationen ob ein INSERT oder eine UPDATE ausgeführt werden soll. Das Feld mit dem Änderungszeitstempel wird so immer auf den aktuellen Wert gesetzt.
Im Anhang habe ich Ihnen ein kleines Beispiel erstellt. Das Beispiel verwendet aber eine SQLite Datenbank und soll lediglich zur Veranschaulichung dienen.
SQL Server Import/Update Einstellungen
das ist dann noch einfacher Das Feld für das Datum müssten Sie vorher allerdings von Hand anlegen, das unterstützt der FlowHeater noch nicht, ist aber in Planung.
Dann müssen Sie im SQLServer Adapter die Optionen „Daten anfügen (Insert)“ und „Daten aktualisieren (Update)“ aktivieren, siehe Screenshot.
Wenn beim Auslesen der Tabelle die Primary Keys erkannt wurden sollte im Designer für diese Felder ein Schlüsselsymbol angezeigt werden.
Zu diesen Feldern müssen Sie von der READ Seite eine Verbindung herstellen. Anschließend verbinden Sie noch die Felder die Sie einfügen bzw. aktualisieren möchten sowie eine Verbindung vom Now Heater mit dem oben hinzufügten Datums bzw. DateTime Feld.
Der FlowHeater entscheidet so anhand der Primary Key Informationen ob ein INSERT oder eine UPDATE ausgeführt werden soll. Das Feld mit dem Änderungszeitstempel wird so immer auf den aktuellen Wert gesetzt.
Im Anhang habe ich Ihnen ein kleines Beispiel erstellt. Das Beispiel verwendet aber eine SQLite Datenbank und soll lediglich zur Veranschaulichung dienen.
SQL Server Import/Update Einstellungen
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:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.284 Sekunden