我需要在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: 错误de cartucho de datos
KUP-04043:找不到表列 外部来源:col2
文件结构:0111,列,测试,名称,地址
答案 0 :(得分: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;