使用以下外部表定义:
create table app_doctor (
doc_no number(9),
age number(3),
eor char(3 char)
)
organization external
( type oracle_loader
default directory "DOC"
access parameters
(
records delimited by newline
**load when (eor = "EOR")**
string sizes are in characters
logfile 'doc.log'
badfile 'doc.bad'
discardfile 'doc.dsc'
fields
(
doc_no position (1:9) integer external(9),
age position (10:12) integer external(3),
eor position (13:15) char(3)
)
)
location('HOSP_DOC.txt')
)
reject limit unlimited
parallel 5;
以及以下测试数据文件:
123456789021EOR
123456789021EOR
123456789021EOR
123456789021EOR
123456789021FER
123456789021FER
123456789021FER
asdfasfa9021ABC
asdfasfa9021ABC
asdfasfa9021ABCasdfasdas
123456789021ABC
123456789021FER
123456789021EOR
123456789021EOR
123456789021EOR
123456789021ABC
123456789021ABC
123456789021ABC
运行时返回 7 条有效记录
select * from app_doctor;
我的丢弃文件包含所有 11 条不良记录,日志文件doc.log
包含有关执行期间发生的事情的正确信息:
LOG 文件于 2013 年 3 月 8 日 11:33:56 打开
表 APP_DOCTOR 的字段定义
记录格式 DELIMITED BY NEWLINE
文件中的数据与平台具有相同的字节顺序
接受所有空字段的行
加载时间 (EOR = EOR)
数据源中的字段:
DOC_NO 外部整数 (9)
记录位置 (1, 9)
修剪空白与 SQL Loader 相同
AGE 外部整数 (3)
记录位置 (10, 12)
修剪空白与 SQL Loader 相同
EOR 字符 (3)
记录位置 (13, 15)
修剪空白与 SQL Loader 相同
LOG 文件于 2013 年 3 月 8 日 11:33:56 打开
表 APP_DOCTOR 的字段定义
记录格式 DELIMITED BY NEWLINE
文件中的数据与平台具有相同的字节顺序
接受所有空字段的行
加载时间 (EOR = EOR)
数据源中的字段:
DOC_NO 外部整数 (9)
记录位置 (1, 9)
修剪空白与 SQL Loader 相同
AGE 外部整数 (3)
记录位置 (10, 12)
修剪空白与 SQL Loader 相同
EOR 字符 (3)
记录位置 (13, 15)
修剪空白与 SQL Loader 相同
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 5
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 6
KUP-04102:记录 7 从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃
KUP-04102:记录 8 从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 9
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 10
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 11
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 12
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 16
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 17
KUP-04102:从文件 /apps/oracle/doc/HOSP_DOC.txt 中丢弃的记录 18