Ralf Rapude: CSV Import in MySQL funzt nicht

Hallo Forum,
ich habe gerade meine OE Adressdatenbank in ein .csv exportiert und wenn ich da reingucke, sieht das alles wunderbar aus. Ich kann diese textfile auch in Star - Office in die Tabellenkalkulation importieren und da ist auch alles da. Wenn ich allerdings versuche das Dingens über phpmyAdmin zu importieren, dann kriege ich folgende Fehlermeldung:

MySQL said: File 'c:winntphpe.tmp' not found (Errcode: 2)

Kann mir jemand von euch sagen, wo es hängt? Star-Office nimmt das Teil ohne zu klagen und bei phpMyAdmin habe ich alle Möglichkeiten durchprobiert, um das CSV zu importieren. Andere Möglichkeit wäre natürlich, das über ein PHP Script zu machen, aber in der PHP Referenz finde ich keine Funktion um ein .csv in eine Datenbank einzulesen. Allerdings habe ich mal gehört, das das geht.Kann mir jemand sagen wo ich gucken muß?

Dank und Gruß
Ralf

  1. Hallo!

    Kann mir jemand von euch sagen, wo es hängt? Star-Office nimmt das Teil ohne zu klagen und bei phpMyAdmin habe ich alle Möglichkeiten durchprobiert, um das CSV zu importieren. Andere Möglichkeit wäre natürlich, das über ein PHP Script zu machen, aber in der PHP Referenz finde ich keine Funktion um ein .csv in eine Datenbank einzulesen. Allerdings habe ich mal gehört, das das geht.Kann mir jemand sagen wo ich gucken muß?

    Ich kenne mich mit phpmyadmin nicht aus, da ich das alles über die Konsole mache oder unter Windows mit mysqlfront (www.mysqlfront.de). Über mysqlfront kannst Du die Datei auch über ein Exportmenu einlesen, also LOAD DATE mit Frontend.

    Du wirst auch keine spezielle PHP-tion finden. Du wirst Dir ein kleines Script schreiben müßen. Kann man immer mal gebrauchen

    • Zeilen einlesen -> file()
    • String/Zeile beim Komma trennen -> explode() oder spilt()
    • in Variablen packen / Strings noch/vieleicht etwas bearbeiten -> z.B. trim()
    • in eine INSERT-Anweisung packen
    • in Datenbank eintragen

    http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#LOAD_DATA

    MfG, André Laugks

    1. Hi,
      ich habe es jetzt auch über die Konsole gemacht. Ist problemlos durchgelaufen und hat mir das Abtippen von 200 Datensätzen (Adressen aus OE) erspart :-)).

      • Zeilen einlesen -> file()
      • String/Zeile beim Komma trennen -> explode() oder spilt()
      • in Variablen packen / Strings noch/vieleicht etwas bearbeiten -> z.B. trim()
      • in eine INSERT-Anweisung packen
      • in Datenbank eintragen

      Ja. So hatte ich mir das auch überlegt und finde es auch nicht so problematisch. Ich war mir aber, wie gesagt, ziemlich sicher, das es da irgendwelche PHP Funktionen gab. Aber das war denn wohl ein Irrtum. Und Konsole lief wirklich allerfeinst und schnell.

      http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#LOAD_DATA

      Guter Link! War klar und deutlich beschrieben. Aber kannst du mir sagen, wieso ich trozt fehlerfreien einlesens 700 Warnungen bekommen habe? Beziehen sich diese Warnungen darauf, wenn Felder leer sind?

      Gruß und Dank
      Ralf

      1. Hallo!

        Guter Link! War klar und deutlich beschrieben. Aber kannst du mir sagen, wieso ich trozt fehlerfreien einlesens 700 Warnungen bekommen habe? Beziehen sich diese Warnungen darauf, wenn Felder leer sind?

        Ich mache gern ein auf "fetter SQLexperte" ;-). Ich habe LOAD DATA einmal verwendet und es hat nicht funktioniert. Irgenwie haben immer Daten gefehlt. Ich meine, es lang bei mir an den großen Textfelder, irgenwelche Escape-Zeichen oder so... Mit PHP-Scripten habe ich dann die Daten importiert.

        Warum Du Fehlermeldungen bekommen hast, ist ohne die Fehlermeldung schwer zu sagen.

        MfG, André Laugks