yanwei11911011 发表于 2013-1-29 15:16:11

将Excel中的数据导入Oracle

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,   --字符串

       field2char,   --字符串

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

       ...,

       fieldnchar   --字符串

      )
3、执行如下命令:

   sqlldr user/password control=insert.ctl   

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

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

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

4、特别注意事项

   a、必须在服务器本机上操作,不能在只安装oracle客户端的机器上使用。
   b、csv文件的内容是以“,“分隔的,如果数据在结尾没有逗号导入时就会出错。
          可以利用ultraedit等文本编辑器处理一下,将 ^p 替换为 ,^p 就可以在每行的末尾加上一个逗号了。
   c、数据导入需要较长的时间。
页: [1]
查看完整版本: 将Excel中的数据导入Oracle