iudey |
Только первую строчку читает и всё. Этот метод неподходит. Какие предложения будут? |
Means lines are delimited not by NEWLINE:
SQL> CREATE TABLE dagimp_ext (PersNr char(10),
2 Antrart char(2),
3 Vorgart char(2),
4 Fiktion char (2),
5 Inventar char (2),
6 GegTyp char (2),
7 GegID char (4),
8 Antragsnr char (8),
9 Antragsdat char (8),
10 Status char (2),
11 AendStatus char (8),
12 Gegenstandschluessel char (4),
13 Gegenstandlangtext char (254),
14 InvNummer char (8),
15 MaxAnzahl char (4),
16 ProdProb char (5),
17 Verlaengerung char (1)
18 )
19 ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY temp
20 ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE FIELDS MISSING FIELD VALUES ARE NULL
21 (PersNr char(10),
22 Antrart char(2),
23 Vorgart char(2),
24 Fiktion char (2),
25 Inventar char (2),
26 GegTyp char (2),
27 GegID char (4),
28 Antragsnr char (8),
29 Antragsdat char (8),
30 Status char (2),
31 AendStatus char (8),
32 Gegenstandschluessel char (4),
33 Gegenstandlangtext char (254),
34 InvNummer char (8),
35 MaxAnzahl char (4),
36 ProdProb char (5),
37 Verlaengerung char (1)))
38 LOCATION ('daueraus.txt'));
Table created.
SQL> SELECT * FROM dagimp_ext;
PERSNR AN VO FI IN GE GEGI ANTRAGSN ANTRAGSD ST AENDSTAT GEGE
---------- -- -- -- -- -- ---- -------- -------- -- -------- ----
GEGENSTANDLANGTEXT
--------------------------------------------------------------------------------
INVNUMME MAXA PRODP V
-------- ---- ----- -
Line1
Line2
PERSNR AN VO FI IN GE GEGI ANTRAGSN ANTRAGSD ST AENDSTAT GEGE
---------- -- -- -- -- -- ---- -------- -------- -- -------- ----
GEGENSTANDLANGTEXT
--------------------------------------------------------------------------------
INVNUMME MAXA PRODP V
-------- ---- ----- -
Line3
SQL>
If I change file daueraus.txt from
daueraus.txt |
LINE1 LINE2 LINE3 |
to
daueraus.txt |
LINE1<tab>LINE2<tab>LINE3 |
I get:
SQL> SELECT * FROM dagimp_ext;
PERSNR AN VO FI IN GE GEGI ANTRAGSN ANTRAGSD ST AENDSTAT GEGE
---------- -- -- -- -- -- ---- -------- -------- -- -------- ----
GEGENSTANDLANGTEXT
--------------------------------------------------------------------------------
INVNUMME MAXA PRODP V
-------- ---- ----- -
Line1 Line 2 Li ne 3
Now when I change DELIMITED BY NEWLINE to DELIMITED BY '\t' I get three lines again:
SQL> DROP TABLE dagimp_ext;
Table dropped.
SQL> CREATE TABLE dagimp_ext (PersNr char(10),
2 Antrart char(2),
3 Vorgart char(2),
4 Fiktion char (2),
5 Inventar char (2),
6 GegTyp char (2),
7 GegID char (4),
8 Antragsnr char (8),
9 Antragsdat char (8),
10 Status char (2),
11 AendStatus char (8),
12 Gegenstandschluessel char (4),
13 Gegenstandlangtext char (254),
14 InvNummer char (8),
15 MaxAnzahl char (4),
16 ProdProb char (5),
17 Verlaengerung char (1)
18 )
19 ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY temp
20 ACCESS PARAMETERS (RECORDS DELIMITED BY '\t' FIELDS MISSING FIELD VALUES ARE NULL
21 (PersNr char(10),
22 Antrart char(2),
23 Vorgart char(2),
24 Fiktion char (2),
25 Inventar char (2),
26 GegTyp char (2),
27 GegID char (4),
28 Antragsnr char (8),
29 Antragsdat char (8),
30 Status char (2),
31 AendStatus char (8),
32 Gegenstandschluessel char (4),
33 Gegenstandlangtext char (254),
34 InvNummer char (8),
35 MaxAnzahl char (4),
36 ProdProb char (5),
37 Verlaengerung char (1)))
38 LOCATION ('daueraus.txt'));
Table created.
SQL> SELECT * FROM dagimp_ext;
PERSNR AN VO FI IN GE GEGI ANTRAGSN ANTRAGSD ST AENDSTAT GEGE
---------- -- -- -- -- -- ---- -------- -------- -- -------- ----
GEGENSTANDLANGTEXT
--------------------------------------------------------------------------------
INVNUMME MAXA PRODP V
-------- ---- ----- -
Line1
Line2
PERSNR AN VO FI IN GE GEGI ANTRAGSN ANTRAGSD ST AENDSTAT GEGE
---------- -- -- -- -- -- ---- -------- -------- -- -------- ----
GEGENSTANDLANGTEXT
--------------------------------------------------------------------------------
INVNUMME MAXA PRODP V
-------- ---- ----- -
Line3
SQL>
So, as I said, most likely your source file records are delimited by something else than newline.
SY.