我一直被困在这一刻没有得到我需要做的事情
我有一个文件叫做-雇员。4列的csv
EMPID,EMPNAME,EMPAGE,EMPCREATION
1,ABC,12,202190211
2,XYZ,24,202190211
3,HJK,25,202190211
我的员工表结构
create table employee
(
empid number,
empname varchar2(255),
empage varchar2(255),
empcreation date
emprole varchar2(255),
empgroup varchar2(255)
)
正如你所看到的,我上面的表有6列,而我的数据文件只有4列
当我使用oracle external加载文件时,我的外部表是空的
create table demo_employee
(
empid number,
empname varchar2(255),
empage varchar2(255),
empcreation date
emprole varchar2(255),
empgroup varchar2(255)
)organization external ( type oracle_loader default directory ABC access parameters
( fields terminated by ',') location ('employee.csv')reject limit unlimited;
我的外部表已创建,但其中没有记录。如果我的列在我的文件中丢失,则应将其数据填充为NULL并继续。
1条答案
按热度按时间hof1towb1#
你查过日志文件了吗?它可能表示日期格式无效。
empcreation
* 听起来 * 像一个日期,你想把202190211
放在那里。是什么东西?2021
可能是一年;下面的9
是什么?还是90
?我修改了示例数据,使其实际上表示有效的日期值:
然后,创建表格(为了更漂亮的输出,我修改了列长度):
外部表;
note missing field values are null
和empcreation
的数据类型(varchar2
,而不是date
):里面有东西吗好耶!
现在,将数据传输到目标表中,为
empcreation
提供格式掩码:最终结果: