从Excel导出数据到Oracle方法汇总-_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1336 | 回复: 0   主题: 从Excel导出数据到Oracle方法汇总-        下一篇 
renruishen
注册用户
等级:新兵
经验:58
发帖:79
精华:0
注册:2011-12-25
状态:离线
发送短消息息给renruishen 加好友    发送短消息息给renruishen 发消息
发表于: IP:您无权察看 2015-5-5 17:20:02 | [全部帖] [楼主帖] 楼主

一般我们都喜欢用Excel表格保存各种常用数据,但如果要做信息系统,用Excel存数据是不太现实的,会带来很多操作上的不便。这样有必要将 Excel导入到各种常用的数据库软件中,以供开发使用。这些常用的软件有小型数据库系统Access、大中型数据库系统SQL Server以及大型数据库系统Oracle等。

那么怎么方便地将Excel数据导入到这些数据库中呢?

一、Access和SQL Server本身作为微软的产品,都提供了对包括Excel数据在内的直接导入功能。

二、而Oracle则需要多费点周折,这里把本人用的方法和在网上搜到的方法一并介绍如下。

第一步、将Excel数据导入到Access,这里需要说明的是,由于Excel对数据格式的限制相对数据库软件较松,所以在导入数据的过程中可能发生某些单元格的数据导入有误。Access会生成一个勘误表,可以针对这个表来查看是哪能些数据产生了导入问题。

第二步、建立ODBC数据源,通过控制面板-》数据源(ODBC),建立系统DSN,在建立DSN的时候要选择数据库驱动程序,请选对应的驱动,我的机器是 Oracle in OraHome92,然后会弹出一个对话框,来做进一步配置,在TNS Service Name中会列出本机上可用的"本地Net服务名",请选择对应的服务名后输入要访问数据库用户(在导入时可以修改)和给这个ODBC数据源取个名字就可以了。

第三步、通过Access导出到Oracle.在导出的"保存类型"下拉框中选"ODBC数据库()",就会弹出ODBC数据源对话框来选择数据源,接下来就出弹出对应数据源的数据库连接信息,默认的用户名是建立ODBC数据源时指定的,在导出时可以修改成为别的用户。

说明、由此可以看出,通过Access导出到其它数据库系统是很方便的,只要机器上有目标数据库系统的ODBC驱动,并建立了ODBC数据源,就可以成功导出。

方法2:

导入到sql server,用SQL Server提供的导出工具导入Oracle, 但对一些image字段支持不好,你如果没这种字段就行。

方法3:

高级用户可以通过以下方法(只限文本字段): 

先把Excel另存为.csv格式文件,这种格式文件是以逗号数据字段分隔的文本文件,如test.csv,再编写一个insert.ctl
用sqlldr进行导入!
insert.ctl内容如下:

load data                    --1、控制文件标识
infile 'test.csv'                --2、要输入的数据文件名为test.csv
append into table table_name       --3、向表table_name中追加记录
fields terminated by ','             --4、字段终止于',',是一个逗号
(field1,
field2,
field3,
...
fieldn)-----定义列对应顺序


注意括号中field排列顺序要与csv文件中相对应
然后就可以执行如下命令:

sqlldr user/password control=insert.ctl


方法4(只限文本字段):

其实如果你的单个文件不大的情况下(少于100000行), 可以全选COPY ,然后用PL/SQL Developer:先建立好表格,注意源表格和目的表格的字段顺序的对应,然后运行SQL语句select * from table for update或者在左侧树形菜单中选中相应的表格,点击右键,在弹出式菜单中点击"Edit Data". 然后打开表格数据上方的锁, 再按一下加号,添加一行新空行. 鼠标点到第一个空格然后粘贴. COMMIT即可.(小窍门, Oracle不支持的, 但很好用, 不会有问题)

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论