1. 控制文件input.ctl:中的内容:
Load DATA
INFILE 'D:/Research/EP/input.txt'
//要导入Oracle中的数据文件,可以多个文件一起导
BADFILE 'D:/Research/EP/input.bad'
//(可选),指定坏文件地址,缺省状态时将在当前目录下生成与原文件名一致的.bad文件
REPLACE
//导入的方式,有四种:APPEND, INSERT, REPLACE, TRUNCATE(先用TRUNCATE 删除数据后再导入)
INTO TABLE WORK_WATCHDENSITY_TEST // 要导入的Oracle目标数据库表
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' // 字段之间的指定分隔符
TRAILING NULLCOLS //表的字段没有对应的值时允许为空
(
ID FILLER // FILLER 关键字, 此列的数值不会被装载
FACT_ID CHAR(12), // 要导入的字段和数据类型
SERIAL DECIMAL EXTERNAL, // 以下类同
POLLUTE_CODE CHAR(3),
OUT_TIME TIMESTAMP(6),
DEN_VALUE DECIMAL EXTERNAL
)
2. 在DOS窗口下使用SQL*Loader命令实现数据的输入
先进入目标所在目录:
D:\Research\EP>
D:\Research\EP>sqlldr userid=system/manager control=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad
默认日志文件名为:input.log
默认坏记录文件为:input.bad
3. 在Unix下,可写一个脚本文件sqlldr.sh,内容为:
rm -f D:/Research/EP/input.bad //删除原有的bad文件
rm -f D:/Research/EP/input.bad //删除原有的bad文件
sqlldr system/manager@ORCL //Oracle数据库的用户名、密码和SID
control=D:/Research/EP/input.ctl //控制文件地址
log='D:/Research/EP/input.log //日志文件
direct=TRUE //跳过数据库相关逻辑,直接以数据块方式导入(有约束)
sqlldr 从Excel 文件导入详细示例
转载于:https://blog.51cto.com/xiahouyao123/791857