External Table mit Zeichensatz Angabe - oracle external table character set
Ein Beispiel für external Table mit Angabe des Zeichensatzes:
create table EXT_MYTBL
(
COL1 varchar2 (4000 char)
, COL2 varchar2 (4000 char)
)
organization external
( type ORACLE_LOADER
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
CHARACTERSET WE8MSWIN1252
SKIP 1
FIELDS TERMINATED BY ';' optionally enclosed BY '"'
MISSING FIELD VALUES ARE NULL
)
)
REJECT LIMIT UNLIMITED NOPARALLEL;
Im Beispiel wichtig:
- Spaltennamen und -reihenfolge muss zur CSV passen!
- EXT-Tbl mit SKIP=0 anlegen
- External Table ohne(!) die Parameter (ist flexibler)
DEFAULT DIRECTORY
LOCATION
badfile
logfile
discardfile
anlegen!
Diese werden bei der Abfrage eingefügt:
select * from EXT_MYTBL
external modify (
DEFAULT DIRECTORY XY_LADEN
ACCESS PARAMETERS(
LOGFILE 'abc.log'
BADFILE 'abc.bad'
DISCARDFILE 'abc.dis')
LOCATION('abc.csv')
);
create table EXT_MYTBL
(
COL1 varchar2 (4000 char)
, COL2 varchar2 (4000 char)
)
organization external
( type ORACLE_LOADER
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
CHARACTERSET WE8MSWIN1252
SKIP 1
FIELDS TERMINATED BY ';' optionally enclosed BY '"'
MISSING FIELD VALUES ARE NULL
)
)
REJECT LIMIT UNLIMITED NOPARALLEL;
Im Beispiel wichtig:
- Spaltennamen und -reihenfolge muss zur CSV passen!
- EXT-Tbl mit SKIP=0 anlegen
- External Table ohne(!) die Parameter (ist flexibler)
DEFAULT DIRECTORY
LOCATION
badfile
logfile
discardfile
anlegen!
Diese werden bei der Abfrage eingefügt:
select * from EXT_MYTBL
external modify (
DEFAULT DIRECTORY XY_LADEN
ACCESS PARAMETERS(
LOGFILE 'abc.log'
BADFILE 'abc.bad'
DISCARDFILE 'abc.dis')
LOCATION('abc.csv')
);
Kommentare
Kommentar veröffentlichen