使用sqllder从csv导入数据到oracle

一、关于CSV文件添加到ORACLE的学习体会

我有一个EXCEL的文件Prize_VS.xls,由姓名、身份证编号、通信地址、邮政编码四列组成,在EXCEL中将Prize_VS.xls另存为Prize_VS.csv,现在来向我的ORACLE服务器上的表增加数据。       
  进行最后操作前,在Prize_VS.csv所在的目录下新建文本文件input.ctl,内容为:  
  load   data  
  infile   'Prize_VS.csv'  
  append   into   table   方案名.Prize_VS  
  trailing   nullcols  
  (NAME   terminated   by   ",",  
  IDCARD   terminated   by   ",",  
  ADDREASS   terminated   by   ",",  
  POSTALCODE   terminated   by   ",")
   
    
  保存后在DOS方式进入input.ctl所在的目录下执行sqlldr命令:  
  sqlldr   用户名/密码@服务名   control=input.ctl   

    
  OK后可以在input.log文件中看到执行的具体记录,有问题的数据则集中在Prize_VS.bad,你可以在修改后继续上一步的操作,直到你满意为止。  

该体会来源于:http://topic.csdn.net/t/20011130/16/396991.html

 

二、使用sqllder导csv文件时,如果某一栏位的值来源于sequence,在导入时该如何指定该栏位的值?

比如,现在是使用sqllder从csv文件向表test导入数据,其中test有field_a, field_b, field_c三个栏位,并且field_c的值来源于sequence_field_c;那么控制文件可这样写:
======================================================
LOAD DATA
INFILE 'C:\test.csv '
TRUNCATE INTO TABLE test
FIELDS TERMINATED BY ', '
(field_a, field_b, field_c "sequence_field_c.nextval")
======================================================


posted on 2008-08-05 21:46  Good life  阅读(2091)  评论(0编辑  收藏  举报