首页 文章

外部表文件加载省略列

提问于
浏览
1

我需要在oracle中将数据从文件上传到外部表,但是不需要文件中定义的所有列,到目前为止我已经尝试过这个

CREATE TABLE test_tbl(
   col1 number,
   col2 varchar2(10),
   col3 varchar2(10),
   col4 varchar2(10),
   col5 varchar2(10)
)
 ORGANIZATION EXTERNAL(
    TYPE ORACLE_LOADER
     DEFAULT DIRECTORY MY_DIR
     ACCESS PARAMETERS(
       RECORDS DELIMITED BY NEWLINE
        FIELDS TERMINATED BY ','
        (
           col1 ,
           filler ,
           col3 ,
           col4 ,
           filler
         )
    )
 LOCATION(
     'myfile.txt'
       )
)

通过查询表生成此错误

ORA-29913:错误al ejejear la llamada de ODCIEXTTABLEOPEN ORA-29400:error de cartucho de datos KUP-04043:在外部源中找不到表列:col2

文件结构:0111,列,测试,名称,地址

1 回答

  • 0

    为什么不采取简单的方法?如果您接受里卡多的更正,您的外部表将起作用 . 然后添加包含所需列的视图:

    CREATE TABLE test_tbl( col1  NUMBER
                         , col2  VARCHAR2( 10 )
                         , col3  VARCHAR2( 10 )
                         , col4  VARCHAR2( 10 )
                         , col5  VARCHAR2( 10 )
                          )
    ORGANIZATION EXTERNAL
       (TYPE oracle_loader
             DEFAULT DIRECTORY MY_DIR
                ACCESS PARAMETERS
                   (
           RECORDS DELIMITED BY NEWLINE
            FIELDS TERMINATED BY ','
            (
               col1 ,
               col2 ,
               col3 ,
               col4 ,
               col5
             )
        )
             LOCATION( 'myfile.txt' ));
    
    CREATE OR REPLACE VIEW what_i_need
    AS
       SELECT col1, col3, col4 FROM test_tbl;
    

相关问题