现在的位置: 首页 > 综合 > 正文

使用 Sql*Loader 向 Oracle 导入数据

2013年12月10日 ⁄ 综合 ⁄ 共 1263字 ⁄ 字号 评论关闭

使用Oracle的sqlldr工具来将SDSS.CSV文件中的数据导入数据库。

SDSS.CSV 放置于 E:/ 内容如下:

        2.3757291096910399E-4,-8.9490277843631194,20.302597,
        0.00023851549291556,-0.88450365314434698,20.098101,
        2.5168890447969299E-4,7.7169029946908094E-2,18.762859,
        2.9486118387225802E-4,-9.8447540892170409,19.943598,
        2.94865362739442E-4,-9.8447540642891909,19.944597,

操作步骤:

1、在Oracle中按照导入数据的格式建立一个空表

                     类型         大小    小数
        RA        Number    18       15
        DEC     Number    18       15
        MAG     Number    8         6

2、编写一个loader.ctl文件,内容如下

        load data                                             //控制文件标识
        infile '/backup/incoming/SDSS.csv'     //要输入的数据文件名
        into table SDSS                                  //对表进行的操作
        fields terminated by ","                        //字段终止符定义
        ( RA, DEC, MAG )
                              //定义列对应顺序

        操作分类:

        a、insert,为缺省方式,在数据装载开始时要求表为空
        b、append,在表中追加新记录
        c、replace,删除旧记录,替换成新装载的记录
        d、truncate,同上

3、在CMD中执行以下语句:

        sqlldr sss/oracle control=loader.ctl

4、自动在当前目录下生成两个文件

        默认日志文件名为:loader.log
        默认坏记录文件为:SDSS.bad

注意事项:

1、必须在服务器本机上操作,不能在只安装Oracle客户端的机器上使用。
2、CSV文件的内容是以“,“分隔的,如果数据在结尾没有逗号导入时就会出错。
可以利用UltraEdit等文本编辑器处理一下,将 ^p 替换为 ,^p 就可以在每行的末尾加上一个逗号了。
3、数据导入需要较长的时间。

4、导入不同的表需要使用不同的.ctl文件

抱歉!评论已关闭.