摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况。目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的导入工具sql*loader;2,使用plsql developer工具;3使用其他数据转移工具做中转站。下面我们采用实例的方式分别描述几种导入方式的优缺点及其操作步骤。假设‘e:\test.xls’文件中存在三列数据分别代表客户编号,客户名称和联系电话。其内容如下:
10001 zjaxi01 13562485246
10002 zjaxi02 13562485247
10003 zjaxi03 13562485248
10004 zjaxi04 13562485249
10005 zjaxi05 13562485250
10006 zjaxi06 13562485251
10007 zjaxi07 13562485252
10008 zjaxi08 13562485253
10009 zjaxi09 13562485254
10010 zjaxi10 13562485255
10011 zjaxi11 13562485256
10012 zjaxi12 13562485257
10013 zjaxi13 13562485258
10014 zjaxi14 13562485259

使用sql *loader
SQL*LOADER是oracle的数据加载工具,在NT下sql*loader的命令为SQLLDR,在UNIX下一般为SQLLDR/SQLLOAD。通常用来将操作系统文件迁移到oracle数据库中。它是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(direct,parallel)。但这种方法要求存储数据的oracle表是已经存在的。
使用这种方法导入excel内容到oracle时,首先需要将excel文件另存为文本格式,文件类型选文本类型或者csv类型即将e:\test.xls另存为e:\test.csv。
如果oracle没有对应存储数据的表结构,则需要创建表test(id,name,telphone)。
用记事本创建sql*loader控制文件test.ctl(ctl后缀是企图证明这是一个控制文件,但实际上这个文件后缀不重要,用户可以自由选择,但文件格式一定要是文本格式),内容如下:
Load data
Infile ‘e:\test.csv’ --数据源文件名称
Append|insert|replace --append在表后追加,insert插入空表,replace替代原有内容
Into table test --要导入的数据库表名称
[when id = id_memo] --过滤条件
Fields terminated by X’09’ --字段分隔符
(id,name,telphone) --字段名称列表
最后在命令窗口输入sqlldr命令行执行导入操作Sqlldr userid = system/manager control=’e:\test.ctl’
Sqlldr的函数关键字说明:
Userid --oracle用户名 userid = username/password
Control --控制文件名称 control = ‘e:\insert.ctl’
Log –-日志文件名称 log = ‘e:\insert.log’
Bad --损坏文件名称
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(默认全部)
Skip --导入时跳过的记录行数(默认0)
Load --导入时导入的记录行数(默认全部)
Errors --允许错误的记录行数(默认50)
使用plsql developer
PL/SQL Developer是一种专门用于开发、测试、调试和优化oracle PL/SQL存储程序单元,比如触发器,存储过程,函数和程序包等集成开发环境。
在单个文件数据不多(小于10w行),并且目的表结构已经存在的情况下可以使用plsql developer工具将excel内容直接通过简单的copy,paste操作导入oracle数据库。具体操作方式如下:
l 在plsql developer的sql window里输入select * from test for update,其中test是要导入的oracle数据表名称;
l 执行查询(通过点击按钮或者快捷键F8可以实现);
l 点击查询结果上面的锁状按钮,使得查询到的内容处于编辑状态。
l 从excel数据表中copy(ctrl +C)要导入oracle中的数据,如果是单列数据导入,可以先按plsql developer中查询结果上面的“添加(+)”按钮,使得数据表处于添加数据状态,然后将鼠标在plsql developer的列名称上单击,最后使用快捷键ctrl + v 完成数据导入操作,并单击plsql developer中的“提交(对号)”按钮提交所做的修改。
l 如果是同时导入所有列,首先选择copy所有数据,然后点增加(+)并点击编辑那一行最前面的星号使得整行数据都处于被选择状态,最后paste即可将数据导入。
l 如果分列导入数据,则需要逐列完成,首先选择copy要导入的数据,然后然后点增加(+)并点击编辑那一列的名称,使得整列数据都处于被选择状态,最后paste即可将数据导入。
使用PLSQL developer执行数据的导入和导出操作主要存在的问题是在大数据量情况下对中文数据可能出错,估计将接收数据表的类型定义为nvarchar2的类型会比较好一点。另外,就是这种方法需要人工更多的参与,不能达到自动导入的效果。
使用sql server中转
这部操作执行时,需要先用sqlserver的导入导出工具将excel内容导入sqlserver数据库中,然后使用同样的工具将sqlserver中转内容导入oracle数据库,这里需要两次的数据复制与IO操作,效率相对是比较低的。并且根据csdn网友jkflyfox的描述,这种方式下需要将oracle文件的名称全部大写,否则会出错。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/47522341/archive/2008/03/21/2203487.aspx

Oracle导入excel数据方法汇总相关推荐

  1. oracle 导入Excel数据

    oracle 导入excel数据 CreateTime--2018年1月30日14:58:51 Author:Marydon 通过plsql实现 1.准备工作 Excel中的字段名称,必须和表结构字段 ...

  2. ORACLE导入Excel数据

    首先建好一个和Excel表字段对应字段的表,然后 select t.* from 表名 t  for update; 点击这个锁子,打开它 粘贴,然后 再提交事务即可 转载于:https://www. ...

  3. matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...

    网络上的数据怎么导到excel中.有方法是直接复制然后粘贴到excel中,但是网络上直接复制过来的,可能不能直接进去下一步编辑.因为复制过来的每个词后面都有空格,是不能进行直接计算,连最基本的求和都不 ...

  4. oracle 将excel数据导入多个表,5种从Excel数据导入Oracle方法

    最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很明显长期下来的工作量是比较大的,于是找 ...

  5. PL/SQL developer 导入Excel数据到linux安装的Oracle中文乱码问题

    解决oracle中文显示乱码有三层地方需要调整或者修改 第一层:操作系统层 locale -a 查看操作系统是否安装了中文字符集 2.设置用户的中文字符集 查看到linux安装了中文字符集,那么ora ...

  6. c 导入oracle数据库,c导入excel数据到数据库

    报表工具如何实现多次导入Excel 很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中.但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个ex ...

  7. php 导入表格数据,PHPExcel 导入Excel数据的方法

    这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一:使用composer下载 phpoffice/phpexcel 或者 ...

  8. arcgis导入excel数据_导入Excel数据到ArcGIS属性表的两种实用方法

    导入Excel数据到ArcGIS有两种方法,一种是用ArcMap的加载数据(黄色+号那个):另一种是用ArcCatalog直接转为shp文件,两种方法的原理是一样的. 第一种方法 1.Excel数据: ...

  9. oracle 数据导入 mysql_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...

    这篇文章主要介绍了oracle导入导出数据的二种方法,利用PL/SQL Developer工具导出和利用cmd的操作命令导出的出方法,大家参考使用吧 方法一:利用PL/SQL Developer工具导 ...

最新文章

  1. 客快物流大数据项目(五十):项目框架初始化
  2. 【经验】配置Anaconda源
  3. JDK 序列化, 碰到serialVersionUID 不一致问题,怎么处理?
  4. 关于常用mysql的文件
  5. STL库容器vector at函数
  6. 第3章 Python的数据结构、函数和文件
  7. Zookeeper 安装和配置---学习二
  8. 推土机:将JAXB对象映射到业务/域对象
  9. 第五届蓝桥杯校内选拔赛试题java组_第五届蓝桥杯校内选拔赛试题java组
  10. rms 公式 有效值_有效值、真有效值、基波有效值、全有效值概念辨析
  11. 【新知实验室】TRTC这么简单的demo快来试试吧
  12. 12代酷睿不再“挤牙膏”,能为英特尔vPro远程办公带来什么?
  13. 测试语文读音标准的软件,普通话发音测试题库手机版apkv3.3.1安卓最新版
  14. 考研807程序设计C语言教程,中央财经大学
  15. c语言键盘符号大全,求c语言各种符号 并且意义。。在键盘上没有的 如何打?...
  16. 多进程写同一个日志并发问题分析
  17. 106短信群发如何在移动信息时代下实现精准营销
  18. Oracle 11g 学习笔记-14(数据库性能优化)
  19. ShareList 列表程序-挂载GD/OD/蓝奏云/天翼云/和彩云......
  20. 电子元器件贸易行业仓库管理难?全流程条码管理轻松解决

热门文章

  1. 苹果6s照相快门声音设置_原来苹果手机自带扫描仪,学会这2个方法,纸质档一键电子化...
  2. 初学者必备:SEO优化名词解释大全
  3. 查看Oracle数据库所有的用户及表空间等
  4. 神经网络与深度学习 - 作业3
  5. 账号简介就是一篇凝练的文章,从5个方面教你写出优质突出的简介
  6. android手机屏分辨率和屏幕逻辑,【手机屏幕分辨率】逻辑分辨率和物理分辨率...
  7. ubuntu16.04调节亮度
  8. 给电脑一键重装系统之后扩展卷不能选怎么解决
  9. python制作英汉词典_python如何制作英文字典
  10. Java 键盘输入数组并输出代码