Hallo zusammen,
mein Name ist Daniel und Ich bin noch ganz neu hier im Forum, habe aber in letzter Zeit sehr aktiv Beiträge recherchiert und konnte auch schon einige interessante Dinge mitnehmen und lernen. Leider sind meine Programmierkenntnisse noch nicht sehr ausgeprägt, was sich aber hoffentlich bald ändert. Ich verstehe PHP, bin jedoch noch nicht in der Lage mir ein eigenes Script für den im folgenden beschriebenen Fall zu schreiben, weshalb ich mir hier im Forum Hilfe erhoffe.
Die Aufgabe/ Das Ziel: Import von verschiedenen CSV Dateien in verschiedenen Tabellen einer MySql Datenbank.
Ich habe bereits viele Informationen zu dem Thema gefunden und es gibt ja auch diverse Programme mit denen man dem Import einzelner Dateien vornehmen kann.
Mein Ziel ist es aber Daten in der Datenbank per Batch/ Bulk Verarbeitung zu aktualisieren. Im Optimalfall führe ich ein Script auf meinem Server aus und alle Daten werden aktualisiert, ggf automatisiert über CronJobs.
Ich habe verschiedenen csv Dateien ( bsp. DL1.csv, DL2.csv, DL3.csv, FL1.csv, EL1.csv usw. ). Die CSV Dateien enthalten jeweils 11 Spalten ( Spalte 1, spalte 2 , Spalte 3 etc ) und sind durch Komma getrennt. Diese Dateien liegen in einem Verzeichnis auf meinem Server ( bsp. Server/datenaustausch ). Parallel Dazu habe ich eine mySql Datenbank auf dem Server eingerichtet ( TestBD ). Innerhalb der DB habe ich bereits pro CSV Datei eine Tabelle angelegt ( bsp.TAB_DL1, TAB_DL2, TAB_DL3, TAB_FL1, TAB_EL1 usw. ).
Die CSV Dateien haben immer einen unique Namen welcher sich nie ändert.
Die CSV Dateien werden in regelmäßigen Abständen lokal aktualisiert. Hierzu schiebe ich einfach die aktuellen CSV Dateien welche ich Lokal erzeuge in das Serververzeichnis ( bsp. Server/datenaustausch ) und überschreibe die älteren Versionen.
Hat diese Aktualisierung statt gefunden möchte ich automatisch alle Dateien in die My SQL Datenbank importieren und die alten Daten in der DB überschreiben. Im Optimalfall wie oben geschrieben per Ausführung eines php scripts. Es muss NIE eine neue Tabelle erzeugt werden. Es werden immer nur vorhandene CSV Dateien in den jeweiligen vorhandenen DB Tabellen überschrieben.
Beim Import soll eine vorher festgelegte Zuordnung statt finden: DL1.csv wird importiert in TAB_DL1, DL2.csv wird importiert in TAB_DL2, DL3.csv wird importiert in TAB_DL3, usw.
Wie oben geschrieben habe ich bereits einige Scripte zum Thema finden können, jedoch nicht speziell zu meinen Anforderungen.
Ich wäre euch sehr dankbar wenn Ihr mir das Vorgehen einmal erläutern könntet. GGf. Hat ja auch bereits jemand eine ähnliche Aufgabe gelöst und kann den Code teilen ?
Freue mich auf eure Antworten.
Beste Grüße
Daniel
mein Name ist Daniel und Ich bin noch ganz neu hier im Forum, habe aber in letzter Zeit sehr aktiv Beiträge recherchiert und konnte auch schon einige interessante Dinge mitnehmen und lernen. Leider sind meine Programmierkenntnisse noch nicht sehr ausgeprägt, was sich aber hoffentlich bald ändert. Ich verstehe PHP, bin jedoch noch nicht in der Lage mir ein eigenes Script für den im folgenden beschriebenen Fall zu schreiben, weshalb ich mir hier im Forum Hilfe erhoffe.
Die Aufgabe/ Das Ziel: Import von verschiedenen CSV Dateien in verschiedenen Tabellen einer MySql Datenbank.
Ich habe bereits viele Informationen zu dem Thema gefunden und es gibt ja auch diverse Programme mit denen man dem Import einzelner Dateien vornehmen kann.
Mein Ziel ist es aber Daten in der Datenbank per Batch/ Bulk Verarbeitung zu aktualisieren. Im Optimalfall führe ich ein Script auf meinem Server aus und alle Daten werden aktualisiert, ggf automatisiert über CronJobs.
Ich habe verschiedenen csv Dateien ( bsp. DL1.csv, DL2.csv, DL3.csv, FL1.csv, EL1.csv usw. ). Die CSV Dateien enthalten jeweils 11 Spalten ( Spalte 1, spalte 2 , Spalte 3 etc ) und sind durch Komma getrennt. Diese Dateien liegen in einem Verzeichnis auf meinem Server ( bsp. Server/datenaustausch ). Parallel Dazu habe ich eine mySql Datenbank auf dem Server eingerichtet ( TestBD ). Innerhalb der DB habe ich bereits pro CSV Datei eine Tabelle angelegt ( bsp.TAB_DL1, TAB_DL2, TAB_DL3, TAB_FL1, TAB_EL1 usw. ).
Die CSV Dateien haben immer einen unique Namen welcher sich nie ändert.
Die CSV Dateien werden in regelmäßigen Abständen lokal aktualisiert. Hierzu schiebe ich einfach die aktuellen CSV Dateien welche ich Lokal erzeuge in das Serververzeichnis ( bsp. Server/datenaustausch ) und überschreibe die älteren Versionen.
Hat diese Aktualisierung statt gefunden möchte ich automatisch alle Dateien in die My SQL Datenbank importieren und die alten Daten in der DB überschreiben. Im Optimalfall wie oben geschrieben per Ausführung eines php scripts. Es muss NIE eine neue Tabelle erzeugt werden. Es werden immer nur vorhandene CSV Dateien in den jeweiligen vorhandenen DB Tabellen überschrieben.
Beim Import soll eine vorher festgelegte Zuordnung statt finden: DL1.csv wird importiert in TAB_DL1, DL2.csv wird importiert in TAB_DL2, DL3.csv wird importiert in TAB_DL3, usw.
Wie oben geschrieben habe ich bereits einige Scripte zum Thema finden können, jedoch nicht speziell zu meinen Anforderungen.
Ich wäre euch sehr dankbar wenn Ihr mir das Vorgehen einmal erläutern könntet. GGf. Hat ja auch bereits jemand eine ähnliche Aufgabe gelöst und kann den Code teilen ?
Freue mich auf eure Antworten.
Beste Grüße
Daniel
Kommentar