ITPub博客

首页 > Linux操作系统 > Linux操作系统 > excel文件导入oracle数据库&一些方法整理

excel文件导入oracle数据库&一些方法整理

原创 Linux操作系统 作者:jump2009 时间:2009-02-23 15:01:53 0 删除 编辑
-------------------------------excel导Orcale数据库的方法-----------------------------------

方法一:使用SqlLoader
1、MicroSoft Excel文件(F)→另存为(A)→

  保存类型为:制表符分隔,起名为text.txt,保存到C:\

2、连入SQL*Plus
  以system/manager用户登录,
  SQL> conn system/manager

  创建表结构
  SQL> create table test
    (
    id       number,        --序号
    username    varchar2(10),    --用户名
    password    varchar2(10),    --密码
    sj       varchar2(20)       --建立日期
    );

3、创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑:
  控制文件:input.ctl,内容如下:

  load data                        --1、控制文件标识
  infile 'test.txt'                --2、要输入的数据文件名为test.txt
  append into table test            --3、向表test中追加记录
  fields terminated by X'09'        --4、字段终止于X'09',是一个制表符(TAB)
  (id,username,password,sj)        --定义列对应顺序


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

4、在DOS窗口下使用SQL*Loader命令实现数据的输入

C:\>sqlldr userid=system/manager control=input.ctl


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

5、连接到SQL*Plus中,查看是否成功输入

方法二:使用PL/Sql
1、打开MicroSoft Excel文件(F);

2、使用PL/Sql连上相应数据库,执行
select * from DESTTABLE for update

取消锁定

3、选中Excel中要导入的数据区域,保证列的顺序和数据库字段顺序一致,ctrl+c;

4、选中PL/Sql中 DESTTABLE的要导入的列,ctrl+v;

5、执行post changes(小绿钩),然后commit。

方法三:使用Toad
没有装工具,还没试。。。

方法四:使用odbc+pb
用不同的odbc驱动程序连接不通的数据库
然后在pb环境中启动数据管道,利用数据管道传输数据
缺点:数据量大的时候,容易发生回滚段的问题,因为其无法指定专用的回滚段
也没试过。。。

方法五:使用sqlserver 的dts
做一个DTS连接把EXCEL与ORACLE 对应 的连接起来就可以直接运行导入数据了
也没试过。。。

方法六:使用excel生成脚本
比如excel文件中有id, name两列(分别为A列和B列), 要导入的表为person(person_id, person_name)

1、在excel 文件的sheet的最右列, 添加一列, 对应第一行数据的单元格写入以下内容:

= "INSERT INTO PERSON(PERSON_ID, PERSON_NAME) VALUES('" & A1 & "', '" & B1 & "');"

2、然后把这一行复制到所有数据行对应的列中.

3、这一列的内容拷贝出去保存, 即成为可以直接在sql*plus下运行的脚本.

方法七:使用Ultra Edit等生成脚本
用列编辑功能加上insert into ....等等

方法八:使用VBA生成脚本
在Excel里加个按钮,编个宏
觉得还不如方法六简便,对用户也不够友好。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18953778/viewspace-557451/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle序列分析
请登录后发表评论 登录
全部评论

注册时间:2009-02-17

  • 博文量
    43
  • 访问量
    78023