ich möchte mit einer CSV-Datei Daten in eine Tabelle importieren.
Dazu habe ich die entsprechende Tabelle in meiner Datenbank bei phppgadmin ausgewählt und dann auf Importieren geklickt. Dort habe ich bei Format CSV ausgewählt, erlaubte Null-Zeichen ist \N und bei Datei habe ich den Verzeichnispfad zu meiner CSV-Datei angegeben.
Klicke ich dann auf Importieren, steht da pötzlich:
No server supplied!
Was muß ich machen damit ich meine Daten in die Datenbank bekomme?
mit psql meinst Du postgresql? Ja das ist die Datenbank die ich installiert habe. Leider kenne ich mich mit Ihr nichst so gut aus, das ich jetzt weiß wo ich mit einem COPY- Befehl arbeiten könnte.
Ist es denn gennerell nicht möglich mit phppgadmn CSV-Date in TAbellen zu importieren? Das kann doch nicht sein…
Mit phppadmn muß man doch auch daten importieren können oder nicht?
Gruß Nixdorf[/QUOTE]
Möglich. Aber ich nutze es nicht und kann daher nix dazu sagen. Dafür nutze ich aber psql recht oft und mache damit auch Cron-gesteuert Datenimport.
Andreas
wie siet denn so ein Komando aus, wenn ich die CSV-Datei daten.csv in die Datenbank Preisliste >> Tabell Preise einfügen möchte? Und wo muß ich es ausführen? Einfach in der Konsole?
kretschmer@pegasus:~$ cat foo.copy
1 das ist ein test 1
2 noch eine Zeile 2
3 nun reicht es 3
\N mit NULL \N
kretschmer@pegasus:~$ psql -U webmaster test
Welcome to psql 8.1.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
test=# create table foo (a int, b text, c int);
CREATE TABLE
test=*# copy foo from '/home/kretschmer/foo.copy';
COPY
test=*# select * from foo;
a | b | c
---+------------------+---
1 | das ist ein test | 1
2 | noch eine Zeile | 2
3 | nun reicht es | 3
| mit NULL |
(4 rows)
test=*#
Die Datei foo.copy enthält meine Daten, die ich dann mit dem COPY - Befehl einlese.
wenn man CVS-Dateien importieren will, muss unbedingt der User, der die Datenbank betreibt, in dem Verzeichnis zumindest Lese-Berechtigung haben. Dieser User heißt normalerweise “postgres”.
ja, die DB ist auf dem selben Rechner wie phppgadmin. was mir noch auffällt: die CSV-DAtei ist sehr groß, 50000 Zeilen. Wenn ich versuche nur 8 davon in einer neuen csv-Datei abzuspeichern und die dann in phpgbadmin importiere, dann kommt die Fehlermeldung nicht mehr. kommen zwar andere.