- 浏览: 483328 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
win2011ccc:
...
jstl EL表达式遍历Map -
winterwd:
懂了。插入数字应该使用jxl.write.Number参见下文 ...
用java将数据写入excel -
winterwd:
感谢分享。可是我的程序里面,NumberFormat不能初始化 ...
用java将数据写入excel -
waainli:
Oraxcel这个插件是怎么使用的啊?如何安装和使用。可以详细 ...
Oracle数据的导入和导出(Excel) -
FYIHDG:
key
jstl EL表达式遍历Map
Oracle数据的导入和导出(Excel)
- 博客分类:
- oracle
一般导入数据到Oracle有几种方法!这可是经验之谈哦!分类: Coder 前几天搞了下将excel表导入oracle数据库的问题,连查带问带自己摸索,将自己弄过的方法写出来和大家交流。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。 http://jkflyfox.blogchina.com/2334307.html 对Oracle表中的数据导出到Excel中(以PLSQL Developer为例),如果数据少量的话,可以直接Fetch all pages and copy to excel,这样就可以导出到Excel了,但如果数据量比较大,不能Fetch所有的数据,则可以用Oraxcel插件来导出数据。 首先进行Connect,以mig/mig@miit5sg2为例子,将要导出的表为ycz_test,里面有三列数据,分别为ca_id,name,saraly,选择Query...,出现一个Oraxcel Run Query的frame,在Type your SQL here下填写以下:select * from ycz_test,则可以将ycz_test 表所有的数据导出到Excel中。 用Oraxcel 将Excel表中的数据导入到Oracle的方法还没试验过... :)
方法一,使用SQL*Loader
这个是用的较多的方法,前提必须oracle数据中目的表已经存在。
大体步骤如下:
1 将excel文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的control.ctl时要将字段终止符改为','(fields terminated by ','),假设保存到c盘根目录。
2 如果没有存在的表结构,则创建,假设表为test,有两列为dm,ms。
3 用记事本创建SQL*Loader控制文件,网上说的文件名后缀为ctl,其实我自己发现就用txt后缀也行。比如命名为control.ctl,内容如下:(--后面的为注释,实际不需要)
load data --控制文件标识
infile 'c: ext.txt' --要输入的数据文件名为test.txt
append into table test --向表test中追加记录
fields terminated by X'09' --字段终止于X'09',是一个制表符(TAB)
(dm,ms) --定义列对应顺序
备注:数据导入的方式上例中用的append,有一下几种:insert,为缺省方式,在数据装载开始时要求表为空;append,在表中追加新记录;replace,删除旧记录,替换成新装载的记录
;truncate,同replace。
4 在命令行提示符下使用SQL*Loader命令实现数据的输入
sqlldr userid=system/manager control='c:control.ctl'
我来举个例子
1.导出地区表的test.csv文件
"01","市区"
"02","柯桥"
"03","钱清"
"04","皋埠"
"05","漓渚"
"06","齐贤"
"08","袍江"
"09","平水"
"12","东浦"
....
2.编辑sqlldr导出控制文件test.ctl内容如下:
load data
infile 'e: est.csv'
replace into table test
fields terminated by ',' optionally enclosed by '"'
trailing nullcols
(id,name)
3.在cmd中执行:
E:>sqlldr userid=xxx/yyy@dbxx control=e: est.ctl log=e:log.txt bad=e:
ad.txt
SQL*Loader: Release 8.1.7.0.0 - Production on 星期三 7月 20 21:28:06 2005
(c) Copyright 2000 Oracle Corporation. All rights reserved.
达到提交点,逻辑记录计数48
E:>
更详细的介绍请查看http://www-rohan.sdsu.edu/doc/oracle/server803/A54652_01/ch04.htm#793
方法二 利用PLSQL Developer
使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具。
在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536—— 可以全选数据COPY ,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里输入select * from test for update;
2 按F8执行
3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后COMMIT提交即可。
还有很多第三方工具,Toad,PL/SQL Developer,SQL Navigator等等。
方法三 使用其它数据转移工具作中转站。
我使用的是Sql Server 2000。
先将excel表导入sqlserver数据库中,然后再从Sql server导入到oracle中。这两部操作都简单,如果不会随便查个帮助就可以了,要不然问我也行:)
这里有两个自己的经验:一是注意excel文件的版本和格式要与导入到sql server时的数据源匹配。如果导入到sql server时的数据源选Microsoft Excel 97-2000的话,而excel文件的版本为Micaosoft Excel 5.0/95 工作簿,则有可能出问题。关于如何看Excle文件格式,你打开excel文件,选择另存为,即可看到像Micaosoft Excel 5.0/95 工作簿或者是Microsoft Office Excle 工作簿等等其它的保存类型。
二就是由Sqlserver导入到oracle中时,记得将在oracle中的表名全部用大写。这条经验是花了好些时间才换来的。我刚开始导时,由于由excle导入sql server的表名为小写,然后倒到oracle中默认的也是小写,结果出现了一些很奇怪的情况,一个就是在Enterprise Manager Console中,在所有表的列表里面可以看到倒入的表,并且利用表数据编辑器还可以看到导入好的数据,但是在具体的表空间下确连表也看不到,实在是奇怪,我老是在想那表到底跑哪去了;二就是不管在具体表空间下看不看得到,表数据总是可以看到的,但是在Sql*Plus或者利用PLSQL Developer的Sql Window,写select语句查看数据,总是提示错误:Ora-00942:表或视图不存在。这个问题开始困扰了我好久,后来还是灵机一动,抱着试一试的心理在由sql server导入oracle时将表名改为全部大写(部分大写都不行),导入后不论Sql*Plus或者PLSQL Developer的Sql Window里写select语句(里面的表名用大写或者小写都行),都能正确的取出记录。很奇怪的问题,作为经验,如果哪位大侠有高见,请不吝赐教。
原文见
发表评论
-
ORACLE Procedure function package cursor 简介
2011-11-23 16:46 29361、 PL/SQL语句块 PL/SQL语句块只适用于Ora ... -
procedure: 一个最简单的oracle存储过程"proc_helloworld"
2011-11-22 17:28 1510本文通过一个最简单的oracle存储过程"proc_ ... -
excel 里的数据导入oracle数据库(2)
2011-10-13 11:03 1256有一个比较麻烦但保证 ... -
excel 里的数据导入oracle数据库
2011-10-13 10:59 13771 准备Excel导入数据 2 把Excel文件另存为(文本 ... -
Oracle 创建索引的基本规则总结
2011-09-14 00:35 2924一、B-Tree索引 1. ... -
unique index and constraint
2011-09-01 18:20 19781. 测试unique index 和 unique co ... -
oracle带时分秒日期的比较
2010-11-19 10:29 3627oracle 中不带时分秒的字符串 to_date 转换时 ... -
oracle SQL语句
2010-07-06 17:39 973查找重复记录: select names,num fro ... -
Oracle中null的使用
2010-07-06 17:28 1313问:什么是NULL?答:在我们不知道具体有什么数据的时 ... -
主键与外键之ORA-02292: integrity constraint
2010-07-06 16:27 27910今天在删除一个表某条记录时,出现如下错误:ORA-02292: ... -
PL/SQL Developer使用技巧
2010-06-10 11:10 22051、右键菜单在PL/SQL De ... -
oracle 查询执行顺序
2010-06-09 21:18 3740oracle 语句提高查询效率的方法 1:.. where c ... -
ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析
2010-06-09 19:12 35681.【问题现象】在中文Wi ... -
ORA-01810: 格式代码出现两次
2010-06-09 19:11 2270今天在做sql查询时发现了这样的问题,在网上搜索找到了答案,是 ... -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(二)
2010-04-27 10:38 7998我们在写PL/SQL语句时,经常会用到字符串A与数字B的比较, ... -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)
2010-04-27 10:36 4703如果是字符型的列,在记录中存在非数值的值,那么在隐转换的时候就 ... -
Ora-00054 resource busy and acquire with nowait specified
2010-04-23 10:09 2754当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增 ... -
Oracle中的空格函数和trim(' ')
2009-12-17 15:20 111331、可以使用LPAD和RPAD在字符串的左边 和右边填补空 ... -
trunc
2009-12-03 16:18 1848TRUNC()函數分兩種: 1.TRUNC(for date ... -
ORA-01855: 要求 AM/A.M. 或 PM/P.M.
2009-12-03 16:01 3083select TRUNC(TO_DATE('24-11-199 ...
相关推荐
ORACLE数据定时导入导出工具,进行数据库自动备份
百万级数据在Excel和SqlServer之间相互导入导出。
数据导入导出 oracle 存储过程 jxl excel
自己写的一个excel与oracel之间的数据导出导入的一个小工具,c#+oracel+excel,基本可以满足基本的导入导出工作。
Excel2007及以后版本中的数据能保持100万条记录左右,我用的是Oracle数据库,要导入40万条数据。我主要采用了JXLS和POI的第三方jar包,这是一个文档总结。如果要下载程序,可以去我的下载空间。
如果您需要把把Oracle里的数据导入Excel,请查看此方法,无需写程序,无需敲代码,几步搞定。
适合新手,从 oracle读取数据导入到excel 使用npoi 使用c# .net c# .net c# .net
该软件主要用于MySQL和Oracle数据库的,对于数据的导入导出操作,针对于Excel文件的使用,在往后的时间中,我会添加上对其他文件的操作,如csv文件
java_Jxl导入导出Excel,很详细的
直接从oracle批量导入导出图片及Excel,方便快捷!!! (标注:没有源代码!) 你值得拥有!!!
用Python写的Oracle数据库配置链接源码,实现数据导入导出,并新建表。数据库链接配置如IP/port/database/username/pwd等信息自行填写。
SQL Server,MySQL在开发中)中的数据直接导出到打开的任意表格中(支持MS Excel和WPS表格),也可以从任意打开表格中将数据导入到数据库中,还可以将变更前的数据先保存到XML中,数据变化后,可以变化的数据导出到...
完成导入/导出excel文件,java、Android都可以使用!
oracel导入导出oracel导入导出oracel导入导出
java_Jxl(导入导出Excel)
本文主要介绍Oracle中使用TOAD工具实现Excel导入导出的功能,希望能帮到大家。
excel导出数据到oracle数据库 值得学习
Struts2 从Oracle导出数据到Excel,建表语句,存储过程语句,都有
通过java来操作Excel表格的工具类库。 支持字体、数字、日期操作,能够修饰单元格属性,能支持图像和图表,可以正确的处理Excel文件。 附使用方法。
oracle中的表导入到mysql中,分两中方法: A、直接连接两数据库,将每行数据生成insert ...其他不同类型的数据库导入导出,通过修改ExcelConstant中的参数,一样可以成功。如果能给你帮助,将是我最大的欣慰!