在窝窝安家的第一篇,原本是想整理一下近日使用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