您的位置:首页 > 数据库

数据库表的数据与excel导入导出

2014-05-15 20:25 471 查看
通过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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: