楼主: 陪你倒数

[精华] 怎么把excel文件导入到oracle数据库中?

[复制链接]
论坛徽章:
3
数据库板块每日发贴之星
日期:2006-02-18 01:02:33会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
91#
发表于 2005-12-22 22:02 | 只看该作者
最初由 outdo 发布
[B]其实我觉得文本 是个最不好处理的格式.   我有个小问题. 就是很多地方工行导出的数据(文本格式) 一个人的数据 要占用两三行.  在导入数据前必须转换成一行(或者谁还有别的方法)  对吧?  想这中数据 我怎么导呢? [/B]



7 ***** 合并多行记录为一行记录  
LOAD DATA  
INFILE *  
concatenate 3 // 通过关键字concatenate 把几行的记录看成一行记录  
INTO TABLE DEPT  
replace  
FIELDS TERMINATED BY ','  
(DEPTNO,  
DNAME "upper(:dname)",  
LOC "upper(:loc)",  
LAST_UPDATED date 'dd/mm/yyyy'  
)  
BEGINDATA  
10,Sales, // 其实这3行看成一行 10,Sales,Virginia,1/5/2000  
Virginia,  
1/5/2000  
// 这列子用 continueif list="," 也可以  
告诉sqlldr在每行的末尾找逗号 找到逗号就把下一行附加到上一行  

LOAD DATA  
INFILE *  
continueif this(1:1) = '-' // 找每行的开始是否有连接字符 - 有就把下一行连接为一行  
// 如 -10,Sales,Virginia,  
// 1/5/2000 就是一行 10,Sales,Virginia,1/5/2000  
// 其中1:1 表示从第一行开始 并在第一行结束 还有continueif next 但continueif list最理想  
INTO TABLE DEPT  
replace  
FIELDS TERMINATED BY ','  
(DEPTNO,  
DNAME "upper(:dname)",  
LOC "upper(:loc)",  
LAST_UPDATED date 'dd/mm/yyyy'  
)  
BEGINDATA // 但是好象不能象右面的那样使用  
-10,Sales,Virginia, -10,Sales,Virginia,  
1/5/2000 1/5/2000  
-40, 40,Finance,Virginia,13/04/2001  
Finance,Virginia,13/04/2001

使用道具 举报

回复
论坛徽章:
121
问答徽章
日期:2013-11-13 14:11:01罗罗诺亚·索隆
日期:2017-06-09 08:39:36NBA季后赛纪念徽章
日期:2017-06-14 17:29:37NBA季后赛大富翁
日期:2017-06-15 09:15:27NBA季后赛之星
日期:2017-06-15 09:54:39NBA季后赛之星
日期:2017-06-15 09:54:37ITPUB15周年纪念
日期:2017-10-25 14:43:05乌索普
日期:2017-11-03 10:56:43山治
日期:2017-12-19 11:56:32娜美
日期:2018-01-11 22:38:07
92#
发表于 2005-12-23 08:16 | 只看该作者
好東西,但是我有很多行不知道用這種方法解決

使用道具 举报

回复
论坛徽章:
6
授权会员
日期:2006-04-04 12:49:28ITPUB元老
日期:2006-11-01 12:44:32嫦娥
日期:2010-08-13 08:21:57ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282013年新春福章
日期:2013-02-25 11:02:122013年新春福章
日期:2013-02-25 14:51:24
93#
发表于 2006-5-17 10:35 | 只看该作者
这个主题不错,实用

使用道具 举报

回复
论坛徽章:
0
94#
发表于 2006-5-17 12:13 | 只看该作者
其实利用SQL SERVER 作为中间桥梁也是可以的.

使用道具 举报

回复
论坛徽章:
0
95#
发表于 2007-10-9 10:59 | 只看该作者

使用道具 举报

回复
论坛徽章:
5
生肖徽章:虎
日期:2007-09-18 15:23:56授权会员
日期:2007-10-16 11:30:59ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
96#
发表于 2007-10-9 14:04 | 只看该作者
toad9.0版本 database-------import---------import table data就可以直接搞定

使用道具 举报

回复
论坛徽章:
56
20周年集字徽章-年	
日期:2020-10-28 15:00:352012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:摔跤
日期:2011-03-16 15:58:362011新春纪念徽章
日期:2011-01-25 15:41:01设计板块每日发贴之星
日期:2010-10-11 01:03:542010新春纪念徽章
日期:2010-03-01 11:19:53生肖徽章2007版:牛
日期:2009-09-10 11:14:59
97#
发表于 2007-10-9 14:51 | 只看该作者
最初由 chfhy 发布
[B]为什么不用sql server的DTS很方便的,不用转换 [/B]



我也这样做的,不过人家不一定装这个东西

使用道具 举报

回复
论坛徽章:
5
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
98#
发表于 2007-10-9 16:04 | 只看该作者
两种方法:
方法一、将excel文件保存为*.csv 格式的文件,用逗号分割,然后用sqlldr导入;
方法二、如果数据量不大,直接把数据ctrl+C ctrl+V copy到数据库中,需要安装oracle客户端工具 sql develope 或 object browser

使用道具 举报

回复
论坛徽章:
145
生肖徽章2007版:兔
日期:2008-01-02 17:35:532010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-01-04 08:33:082009新春纪念徽章
日期:2009-01-04 14:52:282009新春纪念徽章
日期:2009-01-04 14:52:282009新春纪念徽章
日期:2009-01-04 14:52:28
99#
发表于 2007-10-9 17:42 | 只看该作者
用脚本吧。。

使用道具 举报

回复
论坛徽章:
0
100#
发表于 2007-10-9 23:28 | 只看该作者
用toad最方便了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表