备忘录:SQL*Loader使用方法

2011-03-22  黄桂梅 

        在窝窝安家的第一篇,原本是想整理一下近日使用sql*loader导入外部数据的方法,上网查了一下原来其中还有好多技巧我都未曾触及,暂且先把自己接触的先记录下来吧,做个备忘,其它的慢慢再去接触吧。

主要步骤:

1.在oracle中建表:
SQL> create table test 
    ( 
    id       number,        --序号 
    username    varchar2(10),     --用户名 
    password    varchar2(10),     --密码 
    ); 

2.根据表结构在Execel中造数据,保存时选择保存类型为:文本文件(制表符分隔)(* .txt),文件名为test.txt

3.创建控制文件input.ctl
        ——在记事本中编辑以下内容,保存为.ctl文件。
  load data           --1、控制文件标识 
  infile 'test.txt'       --2、要输入的数据文件名为test.txt 
  append into table test    --3、append表示向表test中追加记录;insert,在数据装载开始时要求表为空 ;replace,删除旧记录,替换成新装载的记录 
  fields terminated by X'09'  --4、字段终止于X'09',是一个制表符(TAB) 
  (id,username,password,sj)   -----定义列对应顺序 

4.在DOS窗口下使用SQL*Loader命令实现数据的输入
        ——进入数据文件和控制文件所在目录
        ——输入以下命令以执行
        sqlldr userid=system/manager control=input.ctl 

附:Excel小技巧

1.在准备一批14位格式的时间数据时,用到将两列的内容合并到一列的小技巧,还挺有用的。方法:
如果是想将A1和B1的内容合并到C1中,可以在C1单元格中输入=A1&B1即可。需要对整列操作可以选中C1单元格向下拖拽。

2.取消Excel中科学技术法显示的问题
所造的14位的数字因数值过大在Excel中以科学计数法显示,郁闷的是保存到txt中也变成了科学计数法。取消科学计数法步骤:
选中需要调整的单元格—右键选择“设置单元格格式”—在数字选项卡中选择数值—将小数位数改为0

备注:虽然这种方法解决了科学计数法显示问题,但是保存为.txt文件之后,数字后面多了一个空格,以至在导入数据时报错。注意将数据复制到Word中将空格替换掉之后再保存到文本文件中。

延伸:SQL*Loader资料
http://www.360doc.com/content/08/0724/11/58323_1463411.shtml
http://wenku.baidu.com/view/2dc4bbcfa1c7aa00b52acbb9.html
http://www.360doc.com/content/09/0224/20/7362_2635535.shtml

408°/4037 人阅读/5 条评论 发表评论

黄桂梅  2011-03-22

咦?创建好的日志分类在哪里呢?我在写日志之前创建的日志分类为什么没有即时保存呢?


小窝  2011-03-22

黄桂梅: 咦?创建好的日志分类在哪里呢?我在写日志之前创建的日志分类为什么没有即时保存呢?


付民  2011-03-25

小窝:


黄桂梅  2011-03-27

小窝:
是我没有描述清楚。首先,日志分类我以已经知道在哪里查看了,因为和我以前所用博客的习惯不一样所以有点不适应。
另外一个是,新增日志分类是和新增日志绑定的,貌似只能在新增日志的时候添加日志分类。我在初用这个功能的时候一口气增加了几个分类点击了“创建”但没有写日志提交,然后就发现所创建的分类没有保存下来,这个也是和我以前用的博客不一样,所以才有没有“即时保存”的困惑。


小窝  2011-03-27

黄桂梅: 是我没有描述清楚。首先,日志分类我以已经知道在哪里查看了,因为和我以前所用博客的习惯不一样所以有点不适应。
另外一个是,新增日志分类是和新增日志绑定的,貌似只
果然是做测试的MM,后续我们会进一步完善。谢谢


登录 后发表评论