- Beiträge: 8
Definition ausführen im Testmodus löscht Tabelle
- ag
- Autor
- Offline
- Benutzer
Weniger
Mehr
8 Jahre 3 Monate her #2826
von ag
Definition ausführen im Testmodus löscht Tabelle wurde erstellt von ag
Hallo,
Ich habe eine fhd-Datei aus der Version 2.51 in der neuen Version geöffnet und die Pfade angpasst.
Auf der Read-Seite habe ich eine Access-Datenbank aus der ich die Datensätze mit einer MySql-DB (Rechte Seite Write) abgleiche.
Folgendes Phänomen tritt auf:
Wenn ich auf den Button „Definition ausführen“ klicke und das Häkchen vor „Testlauf, hierbei werden keine Änderungen vorgenommen“ gesetzt lasse und anschließend auf Definition ausführen klicke, wird mir das Ergebnis in der Übersicht angezeigt.
Klicke ich auf den Knopf schließen wird das Fenster geschlossen soweit so gut – gleichzeitig wird aber der Inhalt der Tabelle in der MySQL-Datenbank (Version 5.5.39) der eigentlich unberührt bleiben soll, gelöscht!
Ich habe eine fhd-Datei aus der Version 2.51 in der neuen Version geöffnet und die Pfade angpasst.
Auf der Read-Seite habe ich eine Access-Datenbank aus der ich die Datensätze mit einer MySql-DB (Rechte Seite Write) abgleiche.
Folgendes Phänomen tritt auf:
Wenn ich auf den Button „Definition ausführen“ klicke und das Häkchen vor „Testlauf, hierbei werden keine Änderungen vorgenommen“ gesetzt lasse und anschließend auf Definition ausführen klicke, wird mir das Ergebnis in der Übersicht angezeigt.
Klicke ich auf den Knopf schließen wird das Fenster geschlossen soweit so gut – gleichzeitig wird aber der Inhalt der Tabelle in der MySQL-Datenbank (Version 5.5.39) der eigentlich unberührt bleiben soll, gelöscht!
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 3 Monate her - 8 Jahre 3 Monate her #2827
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 Definition ausführen im Testmodus löscht Tabelle
Hallo Herr Göpfert,
nachdem Sie mir Ihre Definition per Email zugeschickt haben konnte ich feststellen, dass hier zwei SQL Heater vorhanden sind die jeweils am Anfang sowie Ende des Datenimportes ausgeführt werden.
Der erste SQL Heater führt einen „UPDATE glob_oe set oe_kz = '0'“ durch. So sollen wahrscheinlich erst einmal alle Datensätze der MySQL Tabelle gekennzeichnet werden um am Ende festzustellen welche Datensätze nicht neu eingefügt bzw. aktualisiert wurden. Das Feld "oe_kz" wir dann pro verarbeiteten Datensatz auf 1 gestellt
.
Am Ende des Import Vorgangs wird dann über den zweiten SQL Heater ein „DELETE FROM glob_oe WHERE oe_kz = '0'“ ausführt. Dieser löscht alle Datensätze die nicht verarbeitet wurden aus der MySQL Tabelle.
Das Problem dabei ist, dass Sie bei den beiden SQL Heater die Option „Nicht im Testmodus ausführen“ deaktiviert haben! So werden diese beiden SQL Statements auch im Testmodus zum MySQL Server durchgeschleift und die Tabelle ist im Anschluss leer. Das gleiche verhalten sollten Sie eigentlich auch mit der Version 2.x gehabt haben. Wenn Sie diese Option aktivieren wird diese Definition wie gewünscht ausgeführt.
PS: Das gleiche Ergebnis ohne SQL Heater sollten Sie erreichen wenn Sie im MySQL Adapter auf der WRITE Seite die Option „Tabelle vor dem Import leeren“ aktivieren.
nachdem Sie mir Ihre Definition per Email zugeschickt haben konnte ich feststellen, dass hier zwei SQL Heater vorhanden sind die jeweils am Anfang sowie Ende des Datenimportes ausgeführt werden.
Der erste SQL Heater führt einen „UPDATE glob_oe set oe_kz = '0'“ durch. So sollen wahrscheinlich erst einmal alle Datensätze der MySQL Tabelle gekennzeichnet werden um am Ende festzustellen welche Datensätze nicht neu eingefügt bzw. aktualisiert wurden. Das Feld "oe_kz" wir dann pro verarbeiteten Datensatz auf 1 gestellt
.
Am Ende des Import Vorgangs wird dann über den zweiten SQL Heater ein „DELETE FROM glob_oe WHERE oe_kz = '0'“ ausführt. Dieser löscht alle Datensätze die nicht verarbeitet wurden aus der MySQL Tabelle.
Das Problem dabei ist, dass Sie bei den beiden SQL Heater die Option „Nicht im Testmodus ausführen“ deaktiviert haben! So werden diese beiden SQL Statements auch im Testmodus zum MySQL Server durchgeschleift und die Tabelle ist im Anschluss leer. Das gleiche verhalten sollten Sie eigentlich auch mit der Version 2.x gehabt haben. Wenn Sie diese Option aktivieren wird diese Definition wie gewünscht ausgeführt.
PS: Das gleiche Ergebnis ohne SQL Heater sollten Sie erreichen wenn Sie im MySQL Adapter auf der WRITE Seite die Option „Tabelle vor dem Import leeren“ aktivieren.
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: 8 Jahre 3 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.264 Sekunden