- Beiträge: 37
mySQL > mySQL Probleme bei Datenübertragung
- Christoph
- Autor
- Offline
- Benutzer
Weniger
Mehr
12 Jahre 9 Monate her #819
von Christoph
mySQL > mySQL Probleme bei Datenübertragung wurde erstellt von Christoph
Hallo zusammen,
ich möchte Preisdaten aus einer CSV in eine mySQL Tabelle einfügen.
Aufbau: Artikelnummer, Preis1, Preis2, Preis3
Da sich die einzelnen Preise in verschiedenen Tabellen befinden habe ich mir folgenden Ablauf ausgedacht:
Zuerst die CSV Tabelle in eine temporäre Tabelle im mysql speichern.
Anschließend Preis 1 in einer Tabelle mit mySQL zu mySQL updaten.
Die Abfrage im Readadapter sieht dazu so aus:
SELECT tmp_flowheater_update.Artikel_Nr, tmp_flowheater_update.VK, products.products_id
FROM `tmp_flowheater_update`
LEFT JOIN products ON products.products_model = tmp_flowheater_update.Artikel_Nr
auf der Write Seite werden die Daten einfach übergeben.
Das funktioniert aber leider nicht. Bei der Ausführung steigt der Flowheater nach einiger Zeit aus, ohne dass Daten geändert wurden.
In den Tabellen befinden sich über 200.000 Datensätze
kann es sein, dass Flowheater mit so vielen Datensätzen nicht arbeiten kann?
ich möchte Preisdaten aus einer CSV in eine mySQL Tabelle einfügen.
Aufbau: Artikelnummer, Preis1, Preis2, Preis3
Da sich die einzelnen Preise in verschiedenen Tabellen befinden habe ich mir folgenden Ablauf ausgedacht:
Zuerst die CSV Tabelle in eine temporäre Tabelle im mysql speichern.
Anschließend Preis 1 in einer Tabelle mit mySQL zu mySQL updaten.
Die Abfrage im Readadapter sieht dazu so aus:
SELECT tmp_flowheater_update.Artikel_Nr, tmp_flowheater_update.VK, products.products_id
FROM `tmp_flowheater_update`
LEFT JOIN products ON products.products_model = tmp_flowheater_update.Artikel_Nr
auf der Write Seite werden die Daten einfach übergeben.
Das funktioniert aber leider nicht. Bei der Ausführung steigt der Flowheater nach einiger Zeit aus, ohne dass Daten geändert wurden.
In den Tabellen befinden sich über 200.000 Datensätze
kann es sein, dass Flowheater mit so vielen Datensätzen nicht arbeiten kann?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 9 Monate her #821
von FlowHeater-Team
Welche Fehlermeldung erscheint denn bei Ihnen? Wenn keine Fehlermeldung erscheint und es werden keine Datensätze verarbeitet, hat vermutlich Ihr SQL Select keine Daten ermittelt. In diesem Fall prüfen Sie mal (z.B. mit dem MySQL Command Line Client) ob Ihre Abfrage bzw. der JOIN die richtigen Daten ermittelt.
Ich denke der JOIN der Felder Model und Artikel_NR passt nicht zusammen? So wird zwar etwas am MySQL Server ausgeführt, das Ergebnis ist eine Leere Datenmenge und der FlowHeater hat nichts zu tun.
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 Aw: mySQL > mySQL Probleme bei Datenübertragung
Hier gibt es einige die im Datawarehouse Bereich deutlich mehr Datensätze mit dem FlowHeater bearbeitenIn den Tabellen befinden sich über 200.000 Datensätze kann es sein, dass Flowheater mit so vielen Datensätzen nicht arbeiten kann?
Welche Fehlermeldung erscheint denn bei Ihnen? Wenn keine Fehlermeldung erscheint und es werden keine Datensätze verarbeitet, hat vermutlich Ihr SQL Select keine Daten ermittelt. In diesem Fall prüfen Sie mal (z.B. mit dem MySQL Command Line Client) ob Ihre Abfrage bzw. der JOIN die richtigen Daten ermittelt.
Ich denke der JOIN der Felder Model und Artikel_NR passt nicht zusammen? So wird zwar etwas am MySQL Server ausgeführt, das Ergebnis ist eine Leere Datenmenge und der FlowHeater hat nichts zu tun.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Christoph
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 37
12 Jahre 8 Monate her #823
von Christoph
Christoph antwortete auf Aw: mySQL > mySQL Probleme bei Datenübertragung
Hallo Herr Stark,
vielen Dank für Ihre Antwort.
Die Fehlermeldung lautet:
"Lost connection to MySQL server during query"
Die Abfrage funktioniert prinzipiell schon, ich vermute aber, dass dadurch mit Flowheater auf einmal eine Tabelle von 200.000 x 200.000 aufgebaut wird, was der mySQL Server evtl. nicht packt?
Ich vermute, dass zu jeder Zeile nur ein Datensatz "gesucht/ gematched" werden darf.
Jetzt habe ich die Abfrage auf der Read-Seite etwas umgebaut:
SELECT products.products_id, tmp_flowheater_update.VK
FROM `products`
LEFT JOIN tmp_flowheater_update ON products.products_model = tmp_flowheater_update.Artikel_Nr
Die Daten werden jetzt auch beim click auf die Lupe angezeigt.
Die Fehlermeldung "Lost connection to MySQL server during query" kommt aber trotzdem noch nach einiger Zeit.
Als Workarround habe ich jetzt noch einen Zwischenschritt (CSV Export) eingefügt.
CSV > temp SQL
temp SQL match products_ID > temp CSV_ID
temp CSV_ID > SQL
So funktioniert das ganze zwar prinzipiell, aber die Lösung mySQL > mySQL direkt wäre natürlich schon viel einfacher.
Vielen Dank für Ihre Unterstützung
vielen Dank für Ihre Antwort.
Die Fehlermeldung lautet:
"Lost connection to MySQL server during query"
Die Abfrage funktioniert prinzipiell schon, ich vermute aber, dass dadurch mit Flowheater auf einmal eine Tabelle von 200.000 x 200.000 aufgebaut wird, was der mySQL Server evtl. nicht packt?
Ich vermute, dass zu jeder Zeile nur ein Datensatz "gesucht/ gematched" werden darf.
Jetzt habe ich die Abfrage auf der Read-Seite etwas umgebaut:
SELECT products.products_id, tmp_flowheater_update.VK
FROM `products`
LEFT JOIN tmp_flowheater_update ON products.products_model = tmp_flowheater_update.Artikel_Nr
Die Daten werden jetzt auch beim click auf die Lupe angezeigt.
Die Fehlermeldung "Lost connection to MySQL server during query" kommt aber trotzdem noch nach einiger Zeit.
Als Workarround habe ich jetzt noch einen Zwischenschritt (CSV Export) eingefügt.
CSV > temp SQL
temp SQL match products_ID > temp CSV_ID
temp CSV_ID > SQL
So funktioniert das ganze zwar prinzipiell, aber die Lösung mySQL > mySQL direkt wäre natürlich schon viel einfacher.
Vielen Dank für Ihre Unterstützung
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 8 Monate her #824
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 Aw: mySQL > mySQL Probleme bei Datenübertragung
Tritt die Fehlermeldung nach ca. 3 Minuten auf? Wenn ja dann greift hier der CommandTimeout. Den können Sie über die
Adapter Eigenschaften
im Designer weiter nach oben setzen.
Ansonsten sollte auch der MySQL Server diese Datenmengen ebenfalls ohne Probleme verarbeiten können.
Ich verstehe nicht ganz warum Sie die CSV Datei nicht direkt in die betroffene Tabelle importieren? Ist in der Tabelle nicht die Artikelnummer der Primary Key können Sie das im FlowHeater auch umstellen. Dazu müssen Sie nur im MySQL Configurator auf dem Reiter "Felder und Datentypen" das Feld mit dem Primary Key anklicken und den Hacken bei der CheckBox für den Primary Key entfernen. Dann klicken Sie auf das Feld das die Artikelnummer enthält und aktivieren die CheckBox für den Primary Key.
Hinweis: Hiermit wird nicht der Primary Key auf der Tabelle geändert, Sie teilen dem FlowHeater lediglich mit, dass Updates über diesen Feldinhalt durchgeführt werden sollen (WHERE Artikelnummer = 'CSV Datei Artikelnummer')
Achtung: Wenn Sie den Primary Key ändern, kann es vorkommen, dass mehr als ein Datensatz pro CSV Zeile aktualisiert wird! Der FlowHeater generiert in diesem Fall eine Warnung.
Ansonsten sollte auch der MySQL Server diese Datenmengen ebenfalls ohne Probleme verarbeiten können.
Ich verstehe nicht ganz warum Sie die CSV Datei nicht direkt in die betroffene Tabelle importieren? Ist in der Tabelle nicht die Artikelnummer der Primary Key können Sie das im FlowHeater auch umstellen. Dazu müssen Sie nur im MySQL Configurator auf dem Reiter "Felder und Datentypen" das Feld mit dem Primary Key anklicken und den Hacken bei der CheckBox für den Primary Key entfernen. Dann klicken Sie auf das Feld das die Artikelnummer enthält und aktivieren die CheckBox für den Primary Key.
Hinweis: Hiermit wird nicht der Primary Key auf der Tabelle geändert, Sie teilen dem FlowHeater lediglich mit, dass Updates über diesen Feldinhalt durchgeführt werden sollen (WHERE Artikelnummer = 'CSV Datei Artikelnummer')
Achtung: Wenn Sie den Primary Key ändern, kann es vorkommen, dass mehr als ein Datensatz pro CSV Zeile aktualisiert wird! Der FlowHeater generiert in diesem Fall eine Warnung.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.268 Sekunden