RE: Migrating from Sybase

Поиск
Список
Период
Сортировка
От Bill Barnes
Тема RE: Migrating from Sybase
Дата
Msg-id 39C9EBDD@operamail.com
обсуждение исходный текст
Ответ на Migrating from Sybase  ("Jens P. Elsner" <jpelsner@gmx.net>)
Ответы Re: Migrating from Sybase  ("Jens P. Elsner" <jpelsner@gmx.net>)
Список pgsql-general
Had a similar experience in Postgresql 6.5.3 running in Linux with *.dat files
coming from Sybase running in win95.

Found that if I split the source file with a text editor that the individual
splits would process ok.  Finally concluded that Sybase was putting a
character at end of file that 'COPY' could not interpret.

Also, had trouble with null fields.  I had Sybase generate a unique date for
nulls and 0 for null integers.  But then, my 'copy' command didn't include
'with null as ''.

Further, changed all char fields to varchar because postgres stumbled on
character lengths that didn't match char(length).

Hope this helps.



>===== Original Message From "Jens P. Elsner" <jpelsner@gmx.net> =====
>Hi,
>
>I ran into some trouble moving my data from a Sybase ADA db to Postgresql.
>I fixed most of the problems (to move the data I unloaded the db and edited
>the scripts), but there's one I'm stuck with:
>
>The command:
>
>COPY probe FROM '/home/ice/felsdb/186.dat' using delimiters '|' with null as
'' ;
>
>produces
>
>": can't parse "elsdb/import3.sql:419: ERROR:  copy: line 1, pg_atoi: error
in "":
>
>The stuff in 186.dat:
>
>WI-02.06.99-029|1999-06-02 11:04:13.184|Werk 1 Mue|KStK00-32/1|Mineralgemisch
0-30mm|||Halde B2, neue Anlage|1999-05-31
10:53:00.000|9922|1999-06-02||WP_B2||Manschke|3|1|A0170938384B|^M
>
>[....]
>
>The DB table "probe":
>
>CREATE TABLE "probe"^M
>(^M
>        "probennummer"                  char(20) NOT NULL,^M
>        "eingang_am"                    timestamp NOT NULL,^M
>        "kunden_nr"                     char(20) NULL,^M
>        "produktgruppe"                 char(20) NOT NULL,^M
>        "beschreibung"                  varchar(40) NULL,^M
>        "chargen_nr"                    varchar(20) NULL,^M
>        "lieferschein_nr"               varchar(20) NULL,^M
>        "entnahmeort"                   varchar(40) NULL,^M
>        "entnommen_am"                  timestamp NULL,^M
>        "kalenderwoche"                 integer NULL,^M
>        "ankunft_am"                    date NULL,^M
>        "fertig_am"                     timestamp NULL,^M
>        "jobname"                       char(20) NULL,^M
>        "vermerk"                       varchar(40) NULL,^M
>        "registriert_von"               varchar(25) NULL,^M
>        "type"                          smallint NOT NULL,^M
>        "status"                        smallint NOT NULL,^M
>        "barcode"                       char(12) NULL,^M
>        "mark"                          smallint NULL,^M
>        PRIMARY KEY ("probennummer", "eingang_am")^M
>);
>
>What am I doing wrong here?
>
>JP


В списке pgsql-general по дате отправления:

Предыдущее
От: "Jens P. Elsner"
Дата:
Сообщение: Migrating from Sybase
Следующее
От: JanWieck@t-online.de (Jan Wieck)
Дата:
Сообщение: Re: failed Delete after Insert in a transaction