0
我正在嘗試將數據加載到外部表中。將數據加載到外部表中
Sample.txt的
004500323Z Batman - Earth 1 Batman Pop! FUN11494 0 EB 000001080CM0500 2010045003230
004500333Z NBX - Oogie Boogie Glow Pop! Keychain !E FUN11839 0 EB 000000565 2010045003339
004500356Z Blacklist - Red Reddington Pop! FUN10821 0 EB 000001080CM0500 2010045003568
基於位置數據必須被加載到外部表。
外部表結構
CREATE TABLE EX_BOOK
( "ISBN_10" VARCHAR2(10 BYTE),
"AUTHOR_NAME" VARCHAR2(70 CHAR),
"BOOK_TITLE" VARCHAR2(150 CHAR),
"PUBLICATION_COMPANY_NAME" VARCHAR2(60 CHAR),
"PUBLICATION_DATE" CHAR(6 BYTE),
"SORT_1" VARCHAR2(3 CHAR),
"SELLING_PRICE" VARCHAR2(9 BYTE),
"SORT_2" VARCHAR2(7 CHAR),
"ISBN_13" VARCHAR2(13 BYTE)
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY "DAT_DIR"
ACCESS PARAMETERS
(RECORDS DELIMITED BY "\n" CHARACTERSET ZHS32GB18030 BADFILE BAD_DIR : 'CHINESE_BOOK_MASTER_SIMPLIFIED_%p_%a.bad' LOGFILE LOG_DIR : 'CHINESE_BOOK_MASTER_SIMPLIFIED_%p_%a.log' READSIZE 10485760 FIELDS LRTRIM MISSING FIELD VALUES ARE NULL REJECT ROWS
WITH ALL NULL FIELDS ("ISBN_10" (1: 10) CHAR(10) ,"AUTHOR_NAME" (11: 80) CHAR(70) ,"BOOK_TITLE" (81: 230) CHAR(150) ,"PUBLICATION_COMPANY_NAME" (231: 290) CHAR(40) ,"PUBLICATION_DATE" (291: 297) CHAR(6) ,"SORT_1" (304: 306) CHAR(3) ,"SELLING_PRICE" (307: 315) INTEGER EXTERNAL(9) ,"SORT_2" (316: 322) CHAR(7),"ISBN_13" (323: 335) CHAR(13)) )
LOCATION
('Sample.txt'
)
)
REJECT LIMIT UNLIMITED;
但是,當插入數據到外部表不必要的空格被追加。
EX_BOOK
ISBN_10 AUTHOR_NAME BOOK_TITLE PUBLICATION_COMPANY_NAME PUBLICATION_DATE SORT_1 SELLING_PRICE SORT_2
0 0 4 5 0 0 3 2 3 Z B a t m a n - E a r t h 1 B a t m a n Pop! F U N 1 1
在插入數據時如何消除這些空間?
您已經爲源文件「ZHS32GB18030」指定了NLS字符集:目標數據庫的NLS字符集是什麼? – APC
是將NLS字符更改爲** 16UTF16 **,現在數據無問題地加載到外部表。 – Shine