最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Excel导入oracle数据,oracle数据库导出excel方法
时间:2022-06-29 09:58:51 编辑:袖梨 来源:一聚教程网
导出
导出的话,在PL/SQL的SQL Window中查询结果中选中查询结果右单击就有 COPY TO EXCEL这个选择的
导入
方法一
以下的文章主要是介绍如何用SQL*Loader将Excel相关的数据导出到Oracle数据库,其主要的目的是实现往Oracle数据库里插入excel相关文件中的实际应用数据,以下就是文章的具体内容的介绍。
实现步骤:
1、打开MicroSoft Excel
2、文件(F)→新建(N)→工作簿→
3、输入SQL*Loader将Excel数据后,存盘为test.xls,
4、文件(F)→另存为(A)→
保存类型为:制表符分隔,起名为text.txt,保存到C: (也可以保存为csv文件,以逗号分隔)
5、须先创建表结构:
连入SQL*Plus,以system/manager用户登录,
以下是代码片段:SQL> conn system/manager
创建表结构
以下是代码片段:
SQL> create table test(id number,——序号
usernamevarchar2(10),——用户名
passwordvarchar2(10),——密码
sj varchar2(20) ——建立日期);
6、创建SQL*Loader输入数据Oracle数据库所需要的文件,均保存到C:,用记事本编辑:
控制文件:input.ctl,内容如下:
load data ——1、控制文件标识
infile ´test.txt´ ——2、要输入的数据文件名为test.txtappend
into table test——3、向表test中追加记录
fields terminated by X´09´——4、字段终止于X´09´,是一个制表符(TAB),如果是csv文件,这里要改为: fields terminated by ´,´
(id,username,password,sj) ——定义列对应顺序
a、insert,为缺省方式,在SQL*Loader将Excel数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
7、在DOS窗口下使用SQL*Loader命令实现数据的输入 www.111com.net
以下是代码片段:C:>sqlldr system/manager control=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad
如果是远程对SQL*Loader将Excel数据库进行导入Oracle数据库操作,则输入字符串应改为:
以下是代码片段:
C:>sqlldr userid=system/manager@serviceName_192.168.1.248 control=input.ctl
8、连接到SQL*Plus中,查看是否成功输入,可比较input.log与原test.xls文件,查看Oracle数据库是否全部导入,是否导入成功。
注意:excel中单元格内容不要有换行,批注等之类的附加样式,这样可能导致导出的csv或txt文件含有特殊符号,以至导入不进去
方法二
也可以导入sql server 用它的导出工具导入oracle 但对一些image字段支持不好,你如果没这种字段就行。
用MS_sqlserver 提供的数据导出导入功能可以方便的把excel方便的导入oracle数据库
先将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 工作簿等等其它的保存类型。
二就是由sql server导入到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语句(里面的表名用大写或者小写都行),都能正确的取出记录。很奇怪的问题,作为经验,如果哪位大侠有高见,请不吝赐教。www.111com.net
方法三
使用PLSQL Developer工具,在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536—— 可以全选数据复制,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里输入select * from test for update;
2 按F8执行
3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit(对号)提交即可
方法四
可以在网上找这个工具 XlsToOra ,小巧好用,破解版得没找到,我只有英文版的,一次可以导入1000条。
相关文章
- 云星穹铁道权益升级怎么玩 云崩铁权益升级活动介绍 12-03
- 以闪亮之名山中绘梦怎么玩 以闪亮之名滢然花梦套装活动介绍 12-03
- 以闪亮之名绿野梦歌礼包怎么样 以闪亮之名绿野梦歌拍照礼包介绍 12-03
- 光遇12.6有什么更新 光遇12月6日更新内容介绍 12-03
- 伍六七暗影交锋测试资格怎么获得 伍六七暗影交锋内测资格获取方法 12-03
- 无限暖暖晶莹诗集怎么样 12-03