六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 230|回复: 0

将Excel中的数据导入Oracle

[复制链接]

升级  50%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
25
 楼主| 发表于 2013-1-29 15:16:11 | 显示全部楼层 |阅读模式
1、把Excel另存为.csv格式文件(如test.csv);

2、再编写一个insert.ctl

     文件内容如下:

      load data                                  --控制文件标识
   infile 'test.csv'                           --要输入的数据文件名为test.csv
   append into table table_name  --向表table_name中追加记录
   fields terminated by ','               --字段终止于',',是一个逗号
   (field1,field2,field3,...,fieldn)           --定义列对应顺序(注意括号中field排列顺序要与csv文件中相对应)

     如果字段终止结尾不是',',如果是回车,则可以将上面的倒数第二行改写成:

     fields terminated by X'09'

     如导入的数据中存在一些特殊类型的数据(如日期类型),则再定义列对应顺序时可以如下进行:

      (field1 char,   --字符串

       field2  char,   --字符串

       field3 date "YYYY-MM-DD",   --日期类型,并且指定Excel中的日期格式为YYYY-MM-DD格式

       ...,

       fieldn  char   --字符串

      )
3、执行如下命令:

     sqlldr user/password control=insert.ctl   

     执行后系统在当前目录下产生以下两个文件:

     默认日志文件名为:loader.log

    默认坏记录文件为:sdss.bad

4、特别注意事项

     a、必须在服务器本机上操作,不能在只安装oracle客户端的机器上使用。
     b、csv文件的内容是以“,“分隔的,如果数据在结尾没有逗号导入时就会出错。
          可以利用ultraedit等文本编辑器处理一下,将 ^p 替换为 ,^p 就可以在每行的末尾加上一个逗号了。
     c、数据导入需要较长的时间。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表