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文字セットを指定しました。ターゲットDBのNLS文字セットとは何ですか? – APC
NLS文字を** 16UTF16 **に変更しました。データは問題なく外部テーブルにロードされます。 – Shine