sql loader的基础用法。

301项目中遇到一个问题,医院的排班信息文件原则上是每月月底更新,但在试投产期间需要不定时导入。

项目中spring管理的任务调度很不灵活,因为每次修改都要重启服务器。

所以暂时采取使用sql loader手工导入。csp那边采用的C模块操作文件写入数据库,

相比之下,sql loader强大无比。

只需要2个文件,一行命令。

文件1.hosinfo.ctl

        核心文件,控制文件。定义需要导入的文件路径,分隔符,表名以及字段。

        内容:

        load data

        infile 'd:/hb20110726.txt'               //文本路径

        append into table t_hosinfo_bak     //表名

        fields terminated by "|" optionally enclosed by '"' // 分隔符 |

        TRAILING NULLCOLS  //此句定义下方字段中,yiyuanid在txt文本中不存在,只是同时自动插入1.解决了一个很大的阻力。

                                           也可以吧1换为序列的nextval 自增主键。 如果字段完全匹配可不写此句。

        (REGDATE,REGROWID,OFFICE,DOCTOR,ZHICHENG,NUMTYPE,TIME,TATOLNO,MONEY,SKILL,OFFICEID,YIYUANID "1")

文件2.需导入的txt文件

命令:在dos下执行 而不需要在sqlplus下执行

        sqlldr jpren/jpre control=d:\hosinfo.ctl  log=d:\a.log  //log路径记录信息。

你可能感兴趣的:(sql,loader,同时自动插入)