在初学Oracle时,我们需要导入数据到Oracle数据库,方法有很多种。在这里主要介绍通过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,你可以在修改后继续上一步的操作,直到你满意为止。
二、使用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")
以上就是有关sqllder从csv导入数据到Oracle的方法,希望能对你录入数据有所帮助。
【编辑推荐】