這是一個瘋狂的問題:相同的外部表定義在一個 數據庫中正常工作,但在另一箇中失敗。不是模式 - 數據庫。兩個數據庫,在同一個OS上的兩個 ,不同的服務器上。另外,它在第二個日期 字段上失敗,雖然兩者定義相同。兩個服務器上的NLS設置是相同的,我認爲日期掩碼應該覆蓋這個。這裏的定義是:Oracle外部表日期字段 - 在一個數據庫中工作,而不在另一個數據庫中
-- access parameters
-- http://docs.oracle.com/cd/E11882_01/server.112/e16536/et_params.htm
CREATE TABLE ext_tab (
FIELD1 VARCHAR2(30),
FIELD2_DATE DATE,
FIELD3 VARCHAR2(4),
FIELD4 VARCHAR2(6),
FIELD5_DATE DATE
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY DIR_DATADIR
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
NOBADFILE
NODISCARDFILE
LOGFILE 'LOGFILE_LOG'
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"' and '"'
LRTRIM
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(
FIELD1 CHAR(30),
FIELD2_DATE CHAR(8) date_format DATE mask 'YYYYMMDD',
FIELD3 CHAR(4),
FIELD4 CHAR(6),
FIELD5_DATE CHAR(8) date_format DATE mask 'YYYYMMDD'
)
)
LOCATION ('Sample_Input_csv.csv')
)
REJECT LIMIT UNLIMITED
NOPARALLEL;
這裏的樣本數據:
TOTEA01217611,20121122,TOTE,847759,20121122
而且,日誌錯誤:
KUP-04021: field formatting error for field FIELD5_DATE
KUP-04026:場太長數據類型
任何人有這個瘋狂的答案?