COPY fehler

Fragen und Probleme rund um die Abfragespache SQL.
Merlin
Neuer Benutzer
Beiträge: 13
Registriert: Do 13. Nov 2008, 08:20
Kontaktdaten:

COPY fehler

Beitragvon Merlin » Do 13. Nov 2008, 08:26

Hallo zusammen

Ich versuche schon seit Tagen diesen Copy befehl zum laufen zu bringen. ich habe einen dump erhalten und will diesen in meine DB importieren. Die Datenbanken konnte ich schon wieder herstellen aber die daten wollen nicht. hier mal ein stück vom Syntax:

COPY kategorien (kat_id parent, name) FROM stdin;
1 \N Text1
2 1 Text2
3 1 text3
4 1 text4

Ich hoffe es kann mir wer helfen.

Danke schon mal

Gruss merlin

akretschmer
Erfahrener Benutzer
Beiträge: 6965
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitragvon akretschmer » Do 13. Nov 2008, 08:37

Merlin hat geschrieben:Hallo zusammen

Ich versuche schon seit Tagen diesen Copy befehl zum laufen zu bringen. ich habe einen dump erhalten und will diesen in meine DB importieren. Die Datenbanken konnte ich schon wieder herstellen aber die daten wollen nicht. hier mal ein stück vom Syntax:

COPY kategorien (kat_id parent, name) FROM stdin
1 \N Text1
2 1 Text2
3 1 text3
4 1 text4

Ich hoffe es kann mir wer helfen.

Danke schon mal

Gruss merlin



Wenn das 3 Spalten sind, müssen da 2 Kommas stehen. Ich sehe nur eines. Und ich sehe kein abschließendes \. Und auch keine Fehlermeldung von Dir.

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Merlin
Neuer Benutzer
Beiträge: 13
Registriert: Do 13. Nov 2008, 08:20
Kontaktdaten:

Beitragvon Merlin » Do 13. Nov 2008, 08:43

nein, da sind mehrere zeilen auch \. ist vorhanden. Die Exception lautet:
FEHLER: Syntaxfehler bei »1«
ZEILE 3: 1 \N Text1

den ; nach stdin ist auch gesetzt.

akretschmer
Erfahrener Benutzer
Beiträge: 6965
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitragvon akretschmer » Do 13. Nov 2008, 08:53

Merlin hat geschrieben:nein, da sind mehrere zeilen auch \. ist vorhanden. Die Exception lautet:
FEHLER: Syntaxfehler bei »1«
ZEILE 3: 1 \N Text1

den ; nach stdin ist auch gesetzt.


Hier fehlt ein Komma:

Code: Alles auswählen

COPY kategorien (kat_id parent, name) FROM stdin;


Siehst Du es nun?

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Merlin
Neuer Benutzer
Beiträge: 13
Registriert: Do 13. Nov 2008, 08:20
Kontaktdaten:

Beitragvon Merlin » Do 13. Nov 2008, 09:01

ju habs gesehen, mein fehler beim posten, im original syntax ist das komma gesetzt... sorry für die verwirrung. Aber der fehler muss bei was anderem liegen.

akretschmer
Erfahrener Benutzer
Beiträge: 6965
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitragvon akretschmer » Do 13. Nov 2008, 09:07

Merlin hat geschrieben:ju habs gesehen, mein fehler beim posten, im original syntax ist das komma gesetzt... sorry für die verwirrung. Aber der fehler muss bei was anderem liegen.


Code: Alles auswählen

test=# create table kategorien (id int, parent int, name text);
CREATE TABLE
test=*# copy kategorien(id, parent, name) from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1    \N      text1
>> 2    1       text2
>> 3    1       text3
>> 4    1       text4
>> \.
test=*# select * from kategorien;
 id | parent | name
----+--------+-------
  1 |        | text1
  2 |      1 | text2
  3 |      1 | text3
  4 |      1 | text4
(4 rows)

test=*#



Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Merlin
Neuer Benutzer
Beiträge: 13
Registriert: Do 13. Nov 2008, 08:20
Kontaktdaten:

Beitragvon Merlin » Do 13. Nov 2008, 09:21

wenn ich dein beispiel ausprobiere erhalte ich den gleichen Fehler wie anhin:

FEHLER: Syntaxfehler bei »1«
ZEILE 2: 1 \N text1

akretschmer
Erfahrener Benutzer
Beiträge: 6965
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitragvon akretschmer » Do 13. Nov 2008, 09:24

Merlin hat geschrieben:wenn ich dein beispiel ausprobiere erhalte ich den gleichen Fehler wie anhin:

FEHLER: Syntaxfehler bei »1«
ZEILE 2: 1 \N text1


Was verwendest Du als Delimiter? Ich <TAB>.

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Merlin
Neuer Benutzer
Beiträge: 13
Registriert: Do 13. Nov 2008, 08:20
Kontaktdaten:

Beitragvon Merlin » Do 13. Nov 2008, 09:30

Explizit habe ich im Syntax keinen angegeben. So wie es aussieht sind die Daten Tab separiert.

Und Arbeite noch nicht lange mit PostgreSQL. Ich habe schon in verschiedenen Foren nachgesehen und die Kopieren alles Daten anhand eines CVS nur leider habe ich die Daten so erhalten. Dachte nicht das das so ein grosser aufwand wird nur um daten zu importieren.

akretschmer
Erfahrener Benutzer
Beiträge: 6965
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitragvon akretschmer » Do 13. Nov 2008, 09:36

Merlin hat geschrieben:Explizit habe ich im Syntax keinen angegeben. So wie es aussieht sind die Daten Tab separiert.


Wer oder was hindert Dich, das mal zu untersuchen? Vielleicht sind es auch die Zeilenümbrüche. Was für ein OS (von wo die Daten kommen, wo PG läuft)?

Und Arbeite noch nicht lange mit PostgreSQL. Ich habe schon in verschiedenen Foren nachgesehen und die Kopieren alles Daten anhand eines CVS nur leider habe ich die Daten so erhalten. Dachte nicht das das so ein grosser aufwand wird nur um daten zu importieren.


COPY an sich ist recht mächtig (und schnell).

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Zurück zu „SQL“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste