如何在SQL*Loader的CTL文件中配置错误终止数据导入规则?
SQL*Loader CTL文件设置错误时立即停止导入
要让SQL*Loader在检测到错误时立刻终止数据导入,只需在CTL文件中添加OPTIONS (ERRORS=0)子句即可,具体操作如下:
- 在CTL文件的最开头(
LOAD DATA语句之前)加入OPTIONS (ERRORS=0)配置,该参数会将允许的错误记录数设为0——也就是说,只要出现1条错误记录,导入过程就会立即停止。 - 默认情况下SQL*Loader允许50条错误记录,将其设为0就能实现"遇错即停"的需求。
示例CTL文件结构:
OPTIONS (ERRORS=0) LOAD DATA INFILE 'your_input_data.txt' INTO TABLE target_oracle_table FIELDS TERMINATED BY '|' TRAILING NULLCOLS ( id, name, create_date DATE "YYYY-MM-DD" )
补充说明:这里的"错误"包括数据格式不匹配、违反数据库约束(如主键重复)、字段转换失败等所有会被SQL*Loader计入错误计数的情况。
内容的提问来源于stack exchange,提问作者Daniele Quattrone
相关产品推荐
相关产品推荐

