Datenbank in PHPMyAdmin befüllen?

Datenbank in PHPMyAdmin befüllen?

am 02.02.2007 09:09:17 von g.thaler

Ich habe bei dem Gratis-Webhoster Funpic.de einige Tabellen aangelegt,
und die will ich nun befüllen. Ich habe aus einer Access-DB die
Datensätze in ein csav-File exportiert und will dieses nun in die
MySQL-Tabelle importieren.

Wenn ich in PHPMyAdmin die Textdatei laden will, habe ich zwei
Möglichkeiten: entweder die Option ...DATA oder ... DATA LOCAL. Beide
funktionieren nicht.
Wähle ich ... DATA, erhalte ich die Meldung: ""#1045 - Access denied for
user 'gthaler'@'%' (using password: YES)"
Wähle ich ...DATA LOCAL, erhalte ich "#1148 - The used command is not
allowed with this MySQL version"

SHOW GRAHNTS FOR USER xy zeigt mir aber, dass ich auf die DB allenötigen
Berechtigungen habe.

Der Support von Funpic hat mir im Forum auf meine Anfrage hin sofort
geantwortet, dass das Problem schon öfter aufgetreten sei.

Das hilft mir aber auch nicht.
nun die 600 Datensätze in die Tabelle kriege, ohne sie manuell
einzugeben? Kennt jemand ein Programm, das eine csv-Datei in eine Datei
konvertiert, die jeden einzelnen Datensatz in einen INSERT INTO-Befehl
einkleidet?

Besten Dank im Voraus.

Lg Günter

Re: Datenbank in PHPMyAdmin befüllen?

am 02.02.2007 09:57:25 von Thomas Rachel

Günter Thaler wrote:

> nun die 600 Datensätze in die Tabelle kriege, ohne sie manuell
> einzugeben? Kennt jemand ein Programm, das eine csv-Datei in eine Datei
> konvertiert, die jeden einzelnen Datensatz in einen INSERT INTO-Befehl
> einkleidet?

Das kommt ganz auf die Möglichkeiten an, die Dein Server Dir bietet. Die
sinnvollste Variante wäre sicherlich LOAD DATA ... - da das jedoch nicht
zu fuktionieren scheint, muß eine andere Lösung her.

Vermutlich (da es sich um einen Gratis-Webhster handelt) bist Du auf PHP
eingeschränkt. Das hat mit dieser Gruppe hier nur wenig zu tun. Daher
leite ich das Posting mal nach de.comp.lang.php.datenbanken um.

Nein, ein entsprechendes Programm ist mir aus dem Stegreif nicht bekannt.
Vermutlich gibt es aber Tausende davon.

Wie Du nun konkret vorgehst, hängt vom Format und der Größe der Datei ab.

Vermutlich mußt Du
* entweder einfach ein PHP-Programm schreiben, das eine CSV-Datei
einliest, umformatiert und in die Datenbank eingibt
* oder aber die CSV-Datei in ein PHP-Programm umformatieren (etwa mittels
awk), welches die einzufügenden Daten roh enthält.

Normalerweise würde ich die erste Variante vorziehen, evtl. könnte die
zweite aber sinnvoller sein, je nachdem, wie kompliziert das Handling
auf dem Server ist.


HTH,

Thomas

Re: Datenbank in PHPMyAdmin befüllen?

am 02.02.2007 09:57:25 von Thomas Rachel

Günter Thaler wrote:

> nun die 600 Datensätze in die Tabelle kriege, ohne sie manuell
> einzugeben? Kennt jemand ein Programm, das eine csv-Datei in eine Datei
> konvertiert, die jeden einzelnen Datensatz in einen INSERT INTO-Befehl
> einkleidet?

Das kommt ganz auf die Möglichkeiten an, die Dein Server Dir bietet. Die
sinnvollste Variante wäre sicherlich LOAD DATA ... - da das jedoch nicht
zu fuktionieren scheint, muß eine andere Lösung her.

Vermutlich (da es sich um einen Gratis-Webhster handelt) bist Du auf PHP
eingeschränkt. Das hat mit dieser Gruppe hier nur wenig zu tun. Daher
leite ich das Posting mal nach de.comp.lang.php.datenbanken um.

Nein, ein entsprechendes Programm ist mir aus dem Stegreif nicht bekannt.
Vermutlich gibt es aber Tausende davon.

Wie Du nun konkret vorgehst, hängt vom Format und der Größe der Datei ab.

Vermutlich mußt Du
* entweder einfach ein PHP-Programm schreiben, das eine CSV-Datei
einliest, umformatiert und in die Datenbank eingibt
* oder aber die CSV-Datei in ein PHP-Programm umformatieren (etwa mittels
awk), welches die einzufügenden Daten roh enthält.

Normalerweise würde ich die erste Variante vorziehen, evtl. könnte die
zweite aber sinnvoller sein, je nachdem, wie kompliziert das Handling
auf dem Server ist.


HTH,

Thomas