OCM实训:通过SQL*LOADER 将其他二维文件导入到ORACLE数据库中 « Rednat Linux网络日志平台_linux集群_gfs文件系统_iscsi存储配置_ldap服务加密_rac负载均衡_data guard异地备份_ogg流复制技术_rman备份恢复 
首页 » 数据库 » OCM实训:通过SQL*LOADER 将其他二维文件导入到ORACLE数据库中

OCM实训:通过SQL*LOADER 将其他二维文件导入到ORACLE数据库中

时间:2012-03-21作者:felix.chan分类:数据库评论:6

环境说明:我们将有固定格式的二维文件(例如:excel保存出来的.csv文件,或文本文件)按特定的分隔符来导入到oracle中的一张表中。我们创建一个二维的文件a.txt,该文件有三列,每一列用“,”号分隔,第四行的第4列包含了特殊分隔符,所以用双引号括起来。

1
2
3
4
5
6
7
8
9
10
[root@OracleServer ~]# su - oracle
[oracle@OracleServer ~]$ mkdir -p /u01/waibu
[oracle@OracleServer ~]$ cd /u01/waibu
[oracle@OracleServer waibu]$ vi a.txt
输入以下内容:
 
1,a,felix
2,b,tom
3,c,scott
4,d,"smith,thomas"

保存退出!

现在我们确定了要导入的文件的分隔符和特殊字符的格式,就创建sql loader可以识别的控制文件:

1
2
3
4
5
6
7
8
9
[oracle@OracleServer waibu]$ vi sqlldr.ctl
输入以下内容:
 
load data
infile 'a.txt'
append
into table c
fields terminated by ',' optionally enclosed by '"'
(c1, c2, c3)

保存退出

说明:控制文件名称为:sqlldr.ctl 用户可以自己任意定义。append 是说明目前要导入的数据时追加到oracle的表里面去的。
infile ‘a.txt’ 指定数据的源文件是从当前目录的a.txt文件。into table scott.c 指定了要导入到c表中,并且该表的拥有者是scott。
fields terminated by ‘,’ 定义了字段的分隔符是逗号。optionally enclosed by ‘”‘ 定义了特殊字段的分隔符是双引号,所以凡是用双引号括起来的列就当成一个字段来处理。(c1, c2, c3) 指定了要导入到oracle的目标表的哪几个对应列中 。

我们要检查一下scott用户是的c表和指定的三个字段是否存在,如果不存在则需要创建c表,如果存在就直接导入就可以了
抱歉,只有对本文发表过评论才能阅读隐藏内容。

可以看到数据已经被正确的导入到oracle的c表中了,而且最后的一个列也是正确的导入的。

在ocm的考试中会用到该功能,但是考题没有明确说明使用什么方式来导入数据!

原创文章,转载请注明: 转载自红防联盟www.rednat.com

本文链接地址: OCM实训:通过SQL*LOADER 将其他二维文件导入到ORACLE数据库中

|2|right
6 条评论
  1. avatar
    ymh China Internet Explorer Windows 2012-04-20 22:12 回复

    看看

  2. avatar
    aka China Internet Explorer Windows 2012-05-12 22:09 回复

    学习

  3. avatar
    dwb China Google Chrome Windows 2012-05-15 11:46 回复

    很好,谢谢.

  4. avatar
    blackbat China Internet Explorer Windows 2012-06-02 19:41 回复

    很好,谢谢.

  5. avatar
    think China Google Chrome Windows 2012-07-30 13:16 回复

    学习

  6. avatar
    bangnew Hong Kong Google Chrome Mac OS 2013-06-27 12:27 回复

    学习

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>