通过sqlserver的DTS导入Excel数据到Oracle表中,整理如下:
1.打开sqlserver的导入导出工具
数据源选择:平面文件源(Excel另存为cvs格式文件)
选中左边的高级,在右面,把列名都填上(这里是导入Oracle里,列名大写)
2.下一步,目标:选择Oracle Provider for OLE DB(需要装Oracle客户端)
点击属性,在属性里填入数据源,用户名,密码
3.下一步,在目标:数据源列,填入导入Oracle的表名(大写)
4下一步,完成。
以下是转载的两篇文章:
sql server 2005中表的数据与excel互相导入导出的方法【二】
1、将EXECEL导入到SQLSERVER2005数据库方法示例:
insert into dbo.tbpointconfig(pointname,punit,pmax,pmin,pvalue,generatorid,pdate,cdbh)
SELECT 测点名称,单位,PMAX,PMIN,PVALUE,机组号,PDATE,TAGNAME
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:/荆州热电模拟量点表.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet2$]
2、SQLSERVER2005导出到EXECELF方法示例:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:/Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:/training/inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
insert into openrowset('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;User id=admin;Password=;IMEX=1;
DATABASE=D:/Roy.xls', sheet1$)--(ID,Name)
select 2,'b'
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:/Roy.xls',sheet1$)(ID,Name)
select 2,'b'
转自:http://blog.csdn.net/generalxck/article/details/5350985
怎样导入EXCEL表中的数据到oracle【三】
1、将excel文件(F)→另存为(A)→保存类型为:制表符分隔,起名为test.txt,保存到C:\
2、假设现在已有需导入的表 test1 含 两个字段 id int ,age number.
3、创建控制文件 input.ctl,保存在c:\ ,输入
load data --1、控制文件标识
infile 'test.txt' --2、要输入的数据文件名为test.txt
append into table test1 --3、向表test1中追加记录 ,如果是新表,用insert 代替append
fields terminated by X'09' --4、字段终止于X'09',是一个制表符(TAB)
(id,age) -----定义列对应顺序
4、在DOS窗口下使用SQL*Loader命令实现数据的输入
C:\>sqlldr userid=system/manager control=c:\input.ctl --用户名、密码为需要导入数据的用户名,密码
成功导入后,会提示“达到提交点,逻辑记录***”
5、可以连上数据库,查看下数据是否已经导入。
sqlldr 用法可以看这个 http://onlinechen.blog.hexun.com/10124428_d.html
-------------------------------------------------------------------------------
我的方法:
1、将EXCEL另存为.csv后缀(在另存为对话框的下拉列表中有这种类型),用记事本将.csv文件打开,将数据整理一下,例如
表A,有列A1,A2,A3
则文件中格式为:
1,2,3
2,3,4
注意:最后一行数据的末尾要换行一下
然后将其另存为一个.dat文件,(不另存也可以,我是为了规范化)
这是第一步。
2、编写控制文件,格式如下:
load data
infile 'd:\xxxx.dat' (刚才你存的数据文件)
append (增加数据需要此项,向空表插入不需要)
into table tab_name (你的数据库表名)
fields terminated by ',' optionally enclosed by '"'
(A1,A2,A3)(表中的列名,要与数据文件同样顺序)
将其存为文件:xxxx.ctl。
3、OK,在服务器的运行中写命令:
sqlldr userid=scott\tiger control=d:\case1.ctl log=d:\case1.log
这就是用SQL*LOADER导入数据的全过程,希望可以帮助你。
方法二 利用PLSQL Developer
使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具。
在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536—— 可以全选数据复制,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里输入select * from test for update;
2 按F8执行
3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。
方法三 使用其它数据转移工具作中转站。
我使用的是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 工作簿
转自:http://hi.baidu.com/zxq211103/item/708dda1ecd3fe67b7a5f25ff