Csv Datei kann nicht mit phpmyadmin importiert werden

Hi Leute,

ich habe ein kleines Problemchen und komme seit Tagen einfach nicht weiter.

Ich habe eine CSV Datei (ca. 30MB groß) und will diese mit phpmyadmin importieren.
Soweit so gut :slight_smile:
Aber es funzt nicht. Da kommt immer nur ne Fehlermeldung. Die Datei hat ca. 80.000 Zeilen. Ich habe auch alle Einstellungen in phpmyadmin probiert, alles ohne Erfolg.
Wenn ich die Datei allerdings auf z.B. 900 Zeilen verkleinere, dann funktioniert es ohne Probleme.

Ich bin an einer Alternative interessiert wie ich die Daten in die Datenbank importieren kann. Könnt ihr mir vielleicht einen Ratschlag hierzu geben?? Bin für jede Hilfe dankbar.

VG

martini

Ist diese Fehlermeldung geheim, oder magst du sie uns mitteilen? :slight_smile:

Sorry :slight_smile: musste es so schreiben, bin nicht am Rechner daheim. Ich kopiere die Fehlermeldung in ca. 1,5 Stunden und poste sie dann nochmal.

Sieht irgendwie so aus, als wäre die Datei zu groß, obwohl sie mit rd. 30MB ja eigentlich problemlos eingelesen werden können sollte. Wie gesagt, wenn ich sie auf ca. 1 MB verkleinere gehts ohne Probs.

Aber ich poste die Fehlermeldung später nochmal :wink:

Hi,

ich glaub n upload limit von 2mb besteht…

lg flo

So, da bin ich wieder…

hier die Fehlermeldung:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /users/_public/phpMyAdmin/libraries/import/csv.php on line 370

Das mit der Max-Größe von 2MB könnte gut sein, da ja wirklich keine größeren Dateien von mir hochgeladen werden können. Weiß jemand was man da machen kann?

Hi,

wenns ne simple csv datei is dann machs doch immer 1’000 bzw. 10’000 zeilen “packungen” bzw. datein dann sollte es klappen …

lg flo

kann MySQLDumper da net helfen?

Ryon_'s Vorschlag dürfte aber genauso gehen :wink:

Hallo Flo,

1.000er Packungen bei einem Datensatz von 80.000? Nee :slight_smile: das ist mir nix, da ich die Datenbank regelmäßig komplett updaten muss.

Bei 10.000er Packungen ist die Datei bereits zu groß.

Habs auch mit “LOAD DATA INFILE” probiert, aber damit funzt auch nix. Vll. hab ich das auch falsch gemacht. Keine Ahnung. Kann noch jmd weiterhelfen??? Irgendwie muss es gehen! Bin echt am verweifeln…

Hab ich auch grad überlegt aber „einrichtungsproblem-& bedinungseinweißungsfaktor“ musst du ggf. bedenken… obs da (vorallem wenns ne simple csv datei is) sinnvoller is erst ggf. weitere problem quellen zu schaffen …

//edit: Dann kannst du ja auch ggf. 8’000 packungen machen … -klar weiß ich das das erst einmal arbeit ist aber so oft musst du das ja nciht machen (wenn du auf deine datenbank aufpasst- das wären dann 10 datein … hab ich mir auch mal angetan mit plz csv datei … die überwindung am anfang ist schlimmer als wenns dann gemacht ist …

@White Tiger
dachte ich auch schon, hab den mysqldumper auch bereits installiert. Aber ich weiß nicht wie ich damit eine csv Datei importieren kann…
Kannst du mir nen Tipp geben?

^^siehe mein edit oben :wink:

//edit: Wenns is dann schick mir die datei dann mach ich sie dir klein und in ne datenbank rein und schick dir ein mysqldumper backup was du dann wiederherstellen kannst

So, hab jetzt als mit mysqldumper getestet. Hab auch gefunden wo man da die csv importieren kann. Aber geht auch nur bis 2 MB. Oh man… ich raste echt aus :nutz:

Ich muss die Datenbank täglich komplett neu einspielen, deshalb möchte ich eine funktionierende Lösung haben. Gibt es ggf. noch andere Möglichkeiten??

Hi,

wenn du die datenbank täglisch neu einbinden musst dann stimmt irgendwas nicht :stuck_out_tongue:

Entweder du übernimmst jeden tag nur die änderungen werden wenns hochkommt schätz ich mal 8’000 sein => eine datei

oder du musst deine datenbank strucktur ändern oder auf ein anderes programm setzen oder dir ne api bauen für die db

Um was gehts denn bei den Daten ? Vill. kann man dich dann besser verstehen

lg

Ständig neu Importieren halte ich auch für Müll^^
Du sprichst hier dazu von einer riesigen Datenmenge^^ [size=85](Hochladen tust du es aber komprimiert oder xD?)[/size]

Lösen kann man das Problem natürlich… und wenn man schnell nen Script schreibt was die CSV Datei aufteilt… wobei man dann wohl noch immer einzeln Hochladen dürfte… mich wundert auch das der Dumper net weit kommt…

Sry ich kann hier relativ wenig helfen da es für mich alles nur Theorie ist… habe noch die so viele Daten gehabt geschweige denn diese versucht auf bplaced zu stopfen. [size=85](oder MySQLDumper genutzt, ist glaube nur zu wissen wozu der da ist xD)[/size]

Es geht um eine Datenbank mit Immobilienangeboten. Diese muss täglich neu hochgeladen werden mit den neuen Datensätzen, die alten Daten müssen dann gelöscht werden.

Also, meine Dateien sind zw. 15MB und 30MB. Find ich jetzt garnicht so wild eigentlich. Wie gesagt, ca. 80-100T Datensätze.

Ich probier es mit dem Dumper heut nochmal, aber wie gesagt, habe ich gestern den ganzen Abend getestet aber ohne Ergebnis :-/

hi,

das meinte ich damit mit dem jeden Tag nur die Änderungen zu „syncronisieren“ und nicht täglich das genau gleiche hochzuladen.

Du besichtigst ja auch nicht jeden Tag alle Immobilienangebot neu um sie dann zu Fotografieren und den Wert zu schätzen. Das macht man in der Regel (so wie ich das kenn) einmal und ggf. bei großen Änderungen an der Immobilie z.b. Naturkatastrophe oder ähnlich.

[quote=„martini“]
Also, meine Dateien sind zw. 15MB und 30MB. Find ich jetzt garnicht so wild eigentlich. Wie gesagt, ca. 80-100T Datensätze.

Ich probier es mit dem Dumper heut nochmal, aber wie gesagt, habe ich gestern den ganzen Abend getestet aber ohne Ergebnis :-/[/quote]

Alternativ kannst du auch auf deinem Rechner xampp oder ähnlich insterlieren und dort dann eine gleichnamige Datenbank anlegen und täglich csv importieren und dann diese Datenbank über mysqldumper sichern und die backup datei aus dem mysqldumper Ordner (work glaub ich) nehmen und auf den bplaced server hochzuladen (via FTP) in den selbigen mysqldumper Ordner und dann auf dem bplaced Webspace die Datenbank über mysqldumper wiederherstellst.

LG Flo

//edit: ggf. kann dein Programm die Daten direkt über eine Datenbank beziehen und updaten und dann kannst du auf die CSV Datei verzichten, dann bräuchtest du nur einen externen Anbieter einer Datenbank da du auf die bplaced Datenbanken nicht von außen zugreifen kannst.

So Leute,

erstmal frohe Weihnachten euch allen.

Danke für eure Tipps. Ich habe es mittlerweile nach etlichen Stunden hinbekommen. Bin zwar mit der Lösung noch nicht zufrieden, aber wenigstens klappt es erstmal.

Ich hab mir xampp runtergeladen, dann mysqldumper installiert. Damit ein Backup gemacht und dieses Backup dann eingespielt. So hat es funktioniert.

Da ich täglich die Datenbasis neu einspielen muss, ist das natürlich suboptimal, deshalb wäre ich euch dankbar wenn ihr mir noch einen Tipp geben könntet, wie man dies einfacher durchführen kann.

Hab es schon mit einem php skript versucht, aber alles ohne Erfolg.

Hi,

wenn du dir ne externe MySQL Datenbank nimmst kannst du dich normalerweiße über phpmyadmin (auf xampp basis!!!) einloggen und dann die daten über die csv datei importieren. Da das ganze php zeug über xampp läuft bist du da auch nicht großartig eingeschränkt und kannst ggf. mehr arbeitsspeicher nachlegen wenns nicht klappen sollte.

Dann sagst du deiner Webseite (die auf bplaced liegt) das die nicht die bplaced Datenbank nehmen soll (localhost) sondern die externe.

Dann musst du jeden Tag nur einen arbeitsschritt machen …

lg flo