Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks
Excel数据导入Oracle的方法
 
 
    最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很明显长期下来的工作量是比较大的,于是找了几种可供使用的导入方法:
 
 
一、直接使用SQL*Loader导入
 
    SQL*Loader是Oracle自带的数据加载工具,其数据导入比较专业,有各种参数及选项可供选择,经常是作为数据仓库中大型数据的导入方法选择。
 
    优点:
    1、可将导入命令写入BAT文件直接批量处理
    2、导入处理比较专业,提供各种参数选择
    3、无需操作Oracle所在服务器
 
    缺点:
    1、Excel文件需要另存为txt或csv格式(似乎没有自动完成的方法)
 
 
    总得来说这种方法是最值得采用的,可以自动建立操作系统的批处理文件执行SQLLDR命令,将数据导入原始接收表,并在数据库中设置触发器进行精细操作。
    关于SQL*Loader的具体操作,参见“SQL*Loader使用介绍”“SQLLDR应用举例”
 
 
 
二、使用外部表直接更新Excel数据
 
    Oracle的外部表其实也可以满足将外部数据读入数据库的功能,但是其可操作性相比SQL*Loader还是要小很多
 
    优点:
    1、无需执行导入操作,更新外部文本文件后可直接查询数据
    2、仅在查询时操作一次数据,对系统资源占用较小
 
    缺点:
    1、需要建立directory ,一是要有权限,二是文件必须放到Oracle服务器上(似乎不能远程)
    2、需要上传文件,而且无法进行多表导入等复杂的操作
    3、同样需要将Excel文件存储为txt或csv格式
 
 
    这种方法对于权限要求高,操作性弱,仅针对于简单的数据导入时使用。
    关于外部表的具体操作,参见“Oracle表介绍--外部表
 
 
 
三、PL/SQL Developer粘贴法
 
    这种方法就比较简单易用了,每次复制粘贴就行,只限于偶尔的导入使用,要是每天导入就累死人了。
 
    优点:
    1、操作便捷,简单直接
    2、仅需要最简单的update/insert/delete table权限
 
    缺点:
    1、只能对一张表进行操作,多表操作会十分复杂
    2、需要手动操作的工作量较大
    3、所有数据需在Excel中处理完毕,导入时无法进行任何简单操作
 
 
    具体操作方法:
 
    1、在PL/SQL Developer中选择需要操作的表,右键-Edit Data;
       <也可以在查询窗口中输入select * from table_name for update;然后点击打开那个锁>
    2、可以直接在数据窗口中修改或粘贴新的数据(注意格式);
    3、点击那个钩(Post Change);
    4、提交数据;
 
 
四、使用Access中转
 
    这种方法只是在网上看到了一下,对于Access没有什么研究,但是觉得应该会有以下缺点
 
    1、导入无法自动刷新,甚至连简单的点击刷新也没有
    2、需要建立ODBC、导入、导出等多步操作,工作量极大
    3、数据导入到Oracle中时,基本上没有可操作性,只能最简单的操作
 
    这种方法唯一的优点大概就是可以直接将Excel的数据导入到Access,但是操作步骤也比较多
 
    转一下网上说的方法:
    1、在本地创建一个Access数据库,将Excel数据先导入到Access。(直接右键-导入-Excel)
    2、在本地创建ODBC,链接oracle数据库。将oracle中需要导入数据的表以链接表的方式在本地Access中创建
    3、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中
 
 
    这种方法基本没有什么使用价值,除非是别的什么东西都没有的情况下被迫使用。
 
 
 
五、使用SQL Server中转
 
    这种方法基本上和Access一样,使用SQL Server自带的工具先将数据从Excel创建到SQL Server,再导出到Oracle。
    SQL Server的优点在于,它有自带的导出工具,可以直接按向导创建ODBC、导入表名等。
 
    具体可参见“文件”中的“SQLSERVER导入ORACLE数据库.pdf
 




-The End-

posted on 2008-12-24 20:25 decode360-3 阅读(3541) 评论(1)  编辑  收藏 所属分类: Oracle

评论

# re: Excel数据导入Oracle的方法[未登录] 2009-02-06 15:30 1
可以使用其他编程语言写一个EXCEL导入程序,设定时间自动导入。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: