Csv Import automatisch

Hallo Community,
ich weiß, dass es zu diesem Thema schon etliche Threads gibt, aber vielleicht sehe ich einfach vor lauter Wald die Bäume nicht mehr…:confused:

Im Moment aktualisiere ich in einem Shop V 4.7.4 die ca. 300 Artikel und Kategorien manuell über den generischen Import. Dafür stellt mir meine WaWi bzw. ein von mir geschriebener Konverter mit MS-Access genau die csv Dateien mit Header zur Verfügung, die der gen. Import benötigt. Derzeit importiere ich die Tabellen oxarticles, oxartextents, oxobject2category und gelegentlich oxcategories.
Das funktioniert so ganz gut, nun möchte ich die Schritte des Imports gerne etwas komfortabler automatisieren, ohne dafür ein Kaufmodul verwenden zu müssen: Es müsste doch möglich sein, die csv Dateien auf den Shop-Server hochzuladen und dann von dort die Daten mit ähnlichen Mitteln, wie das der generische Import kann zu importieren?

Das muss noch nichtmal regelmäßig geschehen, sondern es würde genügen, die 3 Tabellen für die Artikel und die 1 Kategorien-Tabelle manuell hochzuladen (wie das geht, ist mir natürlich klar) und dann per Aufruf im Browser (o. ä.) zu importieren.

Ich habe zwar in diversen Threads gelesen, dass nach dem csv Upload der Import per php Skript der Import möglich wäre, aber einen Hinweis bzw. Anleitung, wie man das konkret macht, habe ich nicht gefunden.

Daher meine Frage: wie sieht ein Skript aus, mit dem ich die von mir hochgeladenen csv Dateien automatisch in die Datenbank importieren kann? Ich müsste dann im Skript mehr oder weniger nur die csv-Datei mitteilen, ggfs. den SQL-Tabellennamen und das Trennzeichen/Datensatzbegrenzer ähnlich wie ich das jetzt beim generischen Import schon mache. Die Spaltennamen, die übernommen werden sollen, stimmen bereits in der CSV 1:1 überein und werden zumindest im gen. Import automatisch zugewiesen und vorhandene Werte werden korrekt überschrieben also mit meinen neuen Werten aktualisiert.

Vielen Dank für jeglichen Tipp!:wink:
Gruß, Euer Tom

ich nehme an Dein Konverter ist in vb.net/vba geschrieben? Dann verbinde Dich doch von lokal über einen http-request mit einem kleinen php-script auf dem Server und übertrage die Daten direkt in die mySQL-DB!

Hallo und vielen Dank für die Antwort!
Habe jetzt mit php ein Importscript geschrieben, das meine txt Dateien in die Tabellen importiert. Funktioniert hervorragend und schnell - und so kann ich auch noch gleich bestimmen, was mit Datensätzen geschehen soll, die NICHT in der Importdatei stehen, weil sie z. B. in der Original DB gelöscht oder auf inaktiv gesetzt wurden. Hat zwar etwas gedauert, aber es funktioniert perfekt - ich wollte dann natürlich auch noch gleich den Luxus, die Reihenfolge der Spalten erst beim Import festlegen zu können, was mir mehr Freiheiten beim Datenimport bringt… :wink:

Die Quelle ist übrigens eine Access Datenbank, die tatsächlich über ein Macro und VB erzeugt wird, wobei Access auch nur eine Zwischenstation ist, da Access mit einer Lexware Warenwirtschaft verbunden ist, von wo ein Teil der Daten kommt. Der Rest sind Zusatzdaten, die Lexware selbst nicht speichert (z. B. über Kategoriefotos), die über separate Tabellen zum Shopsystem beigesteuert werden.

Gruß und schönen Feiertag
Tom