SQL*Loader是Oracle数据库导入外部数据的一个工具。
体系结构:
Input Datafiles 装载到数据库的原始数据文件
Loader Control file 提供给QL*Loader寻找及翻译数据的相关信息
Log File 装载过程中产生的日志信息
Bad Files 被剔除的一些不合乎规范化的数据,由SQL*Loader剔除,也可能被Oracle剔除
Discard Files 对不满足控制文件中记录选择标准的一些物理记录
这些不一定要全部包含。
使用sql loader的命令行结构:sqlldr 用户名/密码@数据库名称 【skip=1 rows=1000】 control='控制文件全路径' data='数据文件全路径'(【】括号内表示跳过第一行 没1000条数据保存一次)。
下面具体操作一次。
1,建数据表格SQLLOADER_TEST_T:
create table SQLLOADER_TEST_T
(
ITEM_NAME VARCHAR2(20) not null,
ITEM_DESCRIPTION VARCHAR2(60) not null
)
2,准备数据文件 test.txt
Item Name|Item Description
00013893000D|CAMR,CLR,HI-RES,NTSC
00013893000X|CAMR,CLR,HI-RES,PAL
00020610000A|SAFE,B RATED WITH MULTIFUNCTIONAL LOCK
00050335000A|DEMO MONEY,$1
00050379000A|PPR,ROLL,3.469 IN WD,03.06 IN DIA
00050493000E|3.5 Formatted Generic Diskette
00050496000A|RBN CRTG,PRNTR,PRP
3,制作控制文件control.ctl
load data
infile *
append into table sqlloader_test_t --append表示追加数据
fields terminated by '|' optionally enclosed by'"'
(item_name, item_description)
4,执行命令
C:/Documents and Settings/Administrator>sqlldr yhm/passwd@dbname skip=1 rows=1000 control='F:/mes/数据接口文件/control.ctl' data='F:/mes/数据接口文件/test.txt'
执行就ok了 查看数据表就可以看到数据了。