关于oracle导出excel和excel导入oracle的经验总结.docx_第1页
关于oracle导出excel和excel导入oracle的经验总结.docx_第2页
关于oracle导出excel和excel导入oracle的经验总结.docx_第3页
关于oracle导出excel和excel导入oracle的经验总结.docx_第4页
关于oracle导出excel和excel导入oracle的经验总结.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于oracle导出excel和excel导入oracle的经验总结一、oracle导出excel方法一:最简单的方法-用工具plsql dev执行File =new Report Window 。在sql标签中写入需要的sql,点击执行或按快捷键F8,会先吃出查询结果。在右侧工具栏,可以选择按钮另存为html、copy as html、export results,其中export results按钮中就可以导出excel文件、csv文件、tsv文件、xml文件。方法二:最专业的方法-用原始工具sqlplus原文参见:/archives/2005/04/eoasqlplusieaae.html我做了一点修改,如下所示:1.main.sql用以设置环境,调用具体功能脚本2.功能脚本-get_tables.sql为实现具体功能之脚本通过这样两个脚本可以避免spool中的冗余信息,参考:如何去除SQLPLUS中SPOOL的冗余信息示例如下:1.main.sql脚本:oraclejumper utl_file$ more main.sqlset linesize 200set term off verify off feedback off pagesize 999set markup html on entmap ON spool on preformat offspool d:/tables.xlsd:/get_tables.sqlspool offexit2.get_tables.sql脚本:oraclejumper utl_file$ more get_tables.sqlselect owner,table_name,tablespace_name,blocks,last_analyzedfrom all_tables order by 1,2;3.执行并获得输出:oraclejumper utl_file$ sqlplus / as sysdba d:/main.sqlSQL*Plus: Release .0 - Production on Mon Apr 25 10:30:11 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release .0 - ProductionWith the Partitioning optionJServer Release .0 - ProductionDisconnected from Oracle9i Enterprise Edition Release .0 - ProductionWith the Partitioning optionJServer Release .0 - Productionoraclejumper utl_file$ ls -l tables.xls-rw-r-r- 1 oracle dba 69539 Apr 25 10:30 tables.xlsoraclejumper utl_file$此处输出为xls文件,通过下图我们可以看到输出效果:把main.sql脚本中的,spool tables.xls更改为spool tables.htm,我们可以获得htm格式输出,效果如下图:方法三:最悲剧的方法,之所以称为悲剧,是因为这个方法其实很简单,但是你可能没有注意。打开plsql dev工具,执行file=new sql window ,输入sql,点击工具栏“执行”按钮或按快捷键F8。会显示出结果集。点击结果集的左上方,可全部选中结果集,然后右键=copy,直接粘贴到excel文件中就可以了!方法四:最努力的方法,这种方法稍微有点麻烦,但不用写脚本,也不用psql dev工具,只用sql plus就可以了。在sqlplus中,执行想要的sql,把结果集copy到文本文件中(或者直接用spool命令直接输入到文本文件中),把不必要的字符、空格替换成逗号,,然后另存为csv文件,最后在用excel另存为exl文件就可以了。二、把excel文件数据导入到oracle的某个表中。方法一:最省时的方法,需要借助plsql dev工具。 a.复制整个工作簿中的数据到某个表中。点击excel工作区左上角,全部选中数据,ctrl+c 复制整个工作簿中的数据。在plsql dev中,编辑表格表的数据,点击数据展示区左上角,直接粘贴就可以了(注意excel的第一列应该保持为空,如果不为空可以增加一空列,不然你复制的数据就会少一列的)!如下图所示: b.复制某列的数据。 这个很容易,选中excel某一列的数据,复制,选中oracle某个表的某一列,直接粘贴就可以了。plsql dev和excel中的列可以相互复制。方法二:最专业的方法,用sql loader。 原文地址:/blog/1981121.录入excel测试表格,test.xls。2.另存为.csv格式3.创建sql*loader控制文件test.ctl,内容如下:Load dataInfile c:/test.csvinsert Into table test Fields terminated by ,(column1,column2,column3,column4,column5)需要将数据文件拷贝到对应位置4.到数据库中建立对应的测试表testcreate table test (column1 Varchar2(10),column2 Varchar2(10),column3 Varchar2(10),column4 Varchar2(10),column5 Varchar2(10)5.执行导入命令Sqlldr userid = system/manager control=C:/test.ctl导入成功!附:Sqlldr的函数关键字说明:Userid -oracle用户名 userid = username/passwordControl -控制文件名称 control = e:/insert.ctlLog -日志文件名称 log = e:/insert.logBad -损坏文件名称Data -data file nameDiscard -discard file nameDiscardmax -number of discards to allow(默认全部)Skip -导入时跳过的记录行数(默认0)Load -导入时导入的记录行数(默认全部)Errors -允许错误的记录行数(默认50)ctl文件内容说明:Load dataInfile e:/test.csv -数据源文件名称Append|insert|replace -append在表后追加,insert插入空表,replace替代原有内容Into table test -要导入的数据库表名称when id = id_memo -过滤条件Fields terminated by X09 -字段分隔符(id,name,telphone) -字段名称列表方法三:最悲剧的方法,创建oracle外部表,为了把excel中的数据导入到数据中而去建立外部表,大题小做了! 将excel文件另存为csv文件a.csv,然后创建一个外部表t,数据指向a.csv。然后根据外部表创建一个普通的表: create table a as select * from t ,这样就可以把最初的excel文件导入到oracle中的表了。方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论