之前总结的关于SQL*Loader的用法,今天又用到,又翻出来看看
创新互联公司是一家集网站建设,丹寨企业网站建设,丹寨品牌网站建设,网站定制,丹寨网站建设报价,网络营销,网络优化,丹寨网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。SQL*Loader 可将外部文件中的数据加载到Oracle DB的表中。它具有一个功能强大的数据分析引擎,因此对数据文件中数据的格式没有什么限制。
SQL*Loader 使用以下文件:
输入数据文件:SQL*Loader 从控制文件中指定的一个或多个文件(或操作系统的等效文件)中读取数据。从SQL*Loader的角度看,数据文件中的数据是按记录组织的。一个特定的数据文件可采用固定记录格式、可变记录格式或流记录格式。可通过控制文件中的INFILE参数指定记录格式。如果未指定记录格式,默认格式为流记录格式。
控制文件:控制文件是一个文本文件,它是使用SQL*Loader 可识别的语言编写的。控制文件指示SQL*Loader在何处查找数据、如何分析和解释数据以及在何处插入数据等等。控制文件算是一个导入的模板。
日志文件:SQL*Loader 开始执行时,会创建日志文件。如果不能创建日志文件,执行就会终止。日志文件包含加载操作的详细说明,包括加载过程中发生的任何错误的说明。
坏文件:坏文件中包含被SQL*Loader 或Oracle DB拒绝的记录。当输入格式无效时,SQL*Loader就会拒绝数据文件记录。SQL*Loader接受处理某一数据文件记录后,会将该数据文件记录发送到Oracle DB,以便能够作为一行插入到表中。如果Oracle DB确定该行有效,就会将该行插入到表中;如果确定该行无效,则会拒绝该记录,然后SQL*Loader会将该记录放入坏文件中。
放弃文件:仅当需要这种文件并且指定了应启用放弃文件时,才会创建此文件。放弃文件中包含的记录是因不符合控制文件指定的任何记录选择标准而从加载中过滤掉的记录
后面三个可以不选
操作步骤如下:
1),建立数据文件,我这里使用的是从plsql developer中导出来的emp表emp.csv。
内容如下:
2),target表要存在,要保持与数据文件的字段定义一致,否则会出错。这里我使用as select方式根据emp表创建一张表emp3,再使用delete语句清空表数据。
3),建立一个控制文件user.ctl。我这里的控制文件是我用EM工具生成的。内容如下:
OPTIONS (skip=1,rows=128) LOAD DATA INFILE '/u01/app/oracle/oradata/orcl/emp.csv' APPEND INTO TABLE SCOTT.EMP3 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ( EMPNO INTEGER EXTERNAL, ENAME CHAR, JOB CHAR, MGR CHAR, HIREDATE DATE, SAL INTEGER EXTERNAL, COMM INTEGER EXTERNAL, DEPTNO INTEGER EXTERNAL )注:
1.LOAD DATA语句通知SQL*Loader开始新数据加载操作
2.INFILE关键字指定含有待加载数据的数据文件的名称。这里还可以使用 BADFILE、DISCARDFILE来指定坏数据和丢弃数据的文件
3.APPEND关键字是将数据加载到非空表时可以使用的选项之一。要将数据加载到空表中,请使用INSERT关键字。
4.INTO TABLE 要插入记录的表
5.Fields terminated by "," 定义数据中每行记录用","分隔
6.Optionally enclosed by '"' -- 数据中每个字段用'"'框起,比如字段中有","分隔符时
7.第一行处OPTIONS,skip=1是跳过第一行,rows=128定义要加载的行数限制
4),执行命令:
sqlldr system/oracle control=user.ctl截图如下:
5),查询验证
sqlldr更多用法请自行网上搜索···
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:SqlLoader的简单使用-创新互联
本文来源:http://lswzjz.com/article/dcggcd.html