1

我能够成功创建表,但是每当我获取外部表时,我都会出错

create table xyz ( t1 varchar2(20),t2 varchar(10),t3 varchar(10),t4 date,t5 varchar(10),t6 varchar(10),t7 varchar(10),t8 varchar(20),t9 varchar(25),t10 varchar(60),t11 varchar(60))    
     ORGANIZATION EXTERNAL (
                            TYPE ORACLE_LOADER
                            DEFAULT DIRECTORY DE_DUBFILE
                            ACCESS PARAMETERS 
                                (
                                    RECORDS DELIMITED BY NEWLINE
                                    BADFILE DE_DUBFILE: 'xyz.bad'
                                    DISCARDFILE DE_DUBFILE: 'xyz.dis'
                                    LOGFILE DE_DUBFILE: 'xyz.log'
                                    FIELDS TERMINATED BY ','
                                    OPTIONALLY ENCLOSED BY '"'
                                    MISSING FIELD VALUES ARE NULL
                                                (

                                                    t1,t2,t3,t4 date "YYYYMMDD",t5,t6,t7,t8,t9,
                                                    t10 "ORA_HASH(:t1||:t2||:t3 )",
                                                    t11 "ORA_HASH(:t6||:t8||:t9 )"
                                                 )
                                )
                            LOCATION (DE_DUBFILE:'ZZZ'));

我得到以下错误

ORA-29400: data cartridge error
KUP-00554: error encountered while parsing access parameters
KUP-01005: syntax error: found "double-quoted-string": expecting one of: "binary_double, binary_float, comma, char, date, defaultif, decimal, double, float, integer, (, no, nullif, oracle_date, oracle_number, position, raw, recnum, ), unsigned, varrawc, varchar, varraw, varcharc, zoned"
KUP-01007: at line 11 column 57

Script Terminated on line 26.
4

1 回答 1

0

在我看来,“ORA_HASH(:t1||:t2||:t3)”无法处理。尝试在没有它们的情况下加载(t10 和 t11)并生成这些字段。

于 2015-08-21T09:59:43.513 回答