如何使用PL/SQL工具将oracle pl sql 导出数据导出到excel

如何将 Oracle 数据导出到 Excel 中?
  系统环境:   1、操作系统:Windows 2000 Server,机器内存128M  2、数据库:  8i R2 (8.1.6) for NT 企业版  3、安装路径:C:\ORACLE    实现步骤:     1、连入*Plus  以system/manager用户登录,  SQL> conn system/manager    创建新的用户:如user1/pass1,赋予connect,resource权限。  SQL> grant connect,resource to user1 identified by pass1;    Oracle数据库的实例名,本例:oradb  Oracle用户名,本例:user1    SQL> conn user1/pass1  SQL> create table test(a number,b char(10));  SQL> insert into test values(1,'一');  SQL> insert into test values(2,'二');  SQL> insert into test values(3,'三');  SQL>  SQL> select *        A B  ---------- ----------      1 一      2 二      3 三    确认Oracle实例、TNSListener服务都已启动成功    2、配置ODBC:开始→设置→控制面板→管理工具→数据源(ODBC)→        添加一个系统DSN:  数据源名称(自己设,好记就行如:aaa)  服务名称(Oracle主机字符串:oradb)  用户名称(Oracle用户名:如user1)    tnsnames.ora文件中  ORADB =   (DESCRIPTION =    (ADDRESS_LIST =     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))    )    (CONNECT_DATA =     (SERVICE_NAME = oradb)    )   )      3、打开MicroSoft Excel 2000    4、数据(D)→获取外部数据(D)→新建数据库查询(N)→      5、选择数据源:            6、输入user1用户的密码(pass1)→OK→      7、选择要导入的表、列→下一步→                               [[The No.11 Picture.]]   
顶一下(1) 踩一下(4)
热门标签:您所在的位置: &
利用Sql Server将Excel中的数据导入Oracle
利用Sql Server将Excel中的数据导入Oracle
如果我们想将Excel的数据导入到Oracle中,我们可以采用一种间接的方式:利用Sql Server和Excel的近亲关系,在Sql Server中利用OpenDataSource方法读取Excel,并把数据拼写成符合oracle的sql语句。
本文提供一种间接把Excel中的数据导入Oracle中的方法:利用Sql Server和Excel的近亲关系,在Sql Server中利用OpenDataSource方法读取Excel,并把数据拼写成符合oracle的sql语句。
在sql server中执行如下代码:
SELECT&'update&userinfo&set&Useducation&=&''' &&+&CASE&WHEN&[现文化程度]&IS&NULLTHEN&'' &&ELSE&[现文化程度]&END&& &&+&CASEWHEN&[技术等级]&IS&NULLTHEN&'' &&ELSE&''',&Usskilllevel&=&'''+&[技术等级]&END&+&&'''' &&+&CASEWHEN&[加入党派日期]&IS&NULLTHEN&'' &&ELSE&',&Usdangtuantime&=&to_date('''+&CONVERT(VARCHAR(12),&[加入党派日期],&110)+&''',''mm-dd-yyyy'')'&END &&+&CASEWHEN&[入路工作日期]&IS&NULLTHEN&'' &&ELSE&',&Usinputtime&=&to_date('''+&CONVERT(VARCHAR(12),&[入路工作日期],&110)+&''',''mm-dd-yyyy'')'&END &&+&CASEWHEN&[出生日期]&IS&NULLTHEN&'' &&ELSE&',&Usbirthdate&=&to_date('''+&CONVERT(VARCHAR(12),&[出生日期],&110)+''',''mm-dd-yyyy'')'&END &&+&'&where&Uscardid&='''+&[身份证号]&+&''';' &&FROM&OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',& &&'Data&Source=D:\gongren.Extended&Properties=Excel&8.0')...[Sheet1$]&
需要注意:
1)请提供正确的文件路径和Sheet名称;
2)关闭要读取的Excel文件,否则会报错;
3)确保to_date函数对应的字段在Excel中为日期类型;
执行结果如下:
update&userinfo&set&Useducation&=&'中等专科',&Usinputtime&=&to_date('12-25-2000','mm-dd-yyyy'),&Usbirthdate&=&to_date('09-06-1976','mm-dd-yyyy')&where&Uscardid&='061413';& &&update&userinfo&set&Useducation&=&'大学',&Usskilllevel&=&'中级工',&Usdangtuantime&=&to_date('07-11-2000','mm-dd-yyyy'),&Usinputtime&=&to_date('07-01-2003','mm-dd-yyyy'),&Usbirthdate&=&to_date('08-21-1979','mm-dd-yyyy')&where&Uscardid&='210332';& &&update&userinfo&set&Useducation&=&'大专',&Usskilllevel&=&'高级工',&Usdangtuantime&=&to_date('07-03-2001','mm-dd-yyyy'),&Usinputtime&=&to_date('01-01-2005','mm-dd-yyyy'),&Usbirthdate&=&to_date('10-26-1980','mm-dd-yyyy')&where&Uscardid&='260032';&
在pl/sql中执行上述代码就行了。
本文就介绍到这里,更多关于Oracle的内容请到这里:,谢谢大家的支持!
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&&&的更多文章
Java EE(以前叫做Java 2平台,企业版)是一个为支持企业级应用
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
Oracle集群,也称Oracle RAC,称为“真正应用集群”。
Oracle数据库会经常出现一些Error错误信息,本专题将
作为Oracle数据库中比较重要的索引,大家如何才能构建
本书以Linux Redhat 9.0中文版为基础编写,从易用性和实用性角度出发主要介绍Linux Redhat 9.0中文版的应用知识,通过本书的学习
51CTO旗下网站8815人阅读
先说一个简单的方法:在sqlplus中查询出数据,然后选择行项右键,有个复制到Excel,ok!
1、:windows 2000 Server,机器内存128M
  2、:  8i R2 (8.1.6) for NT 企业版
  3、安装路径:C:\ORACLE
  实现步骤:
  1、连入SQL*Plus
  以system/manager用户登录,
  SQL& conn system/manager
  创建新的用户:如user1/pass1,赋予connect,resource权限。
  SQL& grant connect,resource to user1 identified by pass1;
  Oracle数据库的实例名,本例:oradb
  Oracle用户名,本例:user1
  SQL& conn user1/pass1
  SQL& create table test(a number,b char(10));
  SQL& insert into test values(1,'一');
  SQL& insert into test values(2,'二');
  SQL& insert into test values(3,'三');
  SQL& select *
      A B
  ---------- ----------
      1 一
      2 二
      3 三
  确认Oracle实例、TNSListener服务都已启动成功
  2、配置ODBC:开始→设置→控制面板→治理工具→数据源(ODBC)→
  添加一个系统DSN:
  数据源名称(自己设,好记就行如:aaa)
  服务名称(Oracle主机字符串:oradb)
  用户名称(Oracle用户名:如user1)
  tnsnames.ora文件中
  ORADB =
   (DESCRIPTION =
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
    (CONNECT_DATA =
     (SERVICE_NAME = oradb)
  3、打开MicroSoft
  4、数据(D)→获取外部数据(D)→新建数据库查询(N)→
  5、选择数据源:
  6、输入user1用户的密码(pass1)→OK→
  7、选择要导入的表、列→下一步→
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:227179次
积分:2355
积分:2355
排名:第11321名
原创:22篇
转载:35篇
评论:21条
(2)(1)(5)(4)(2)(7)(2)(3)(13)(6)(4)(2)(3)(2)(1)&&完海量oracle数据如何批量导出为excel文件?现在有25W条左右的数据需要导入到excel中,excel版本07,我使用pl sql,导出直接死掉,还是只7是万条数据。。。谁有好的办法解决呢?5个牛币所有回答列表(5)excel的一个sheet最多能够到出65535条数据,POI、JXL、FastExcel均为java第三方开源导出Excel的开源项目,POI、JXL、FastExcel比较 &导出方案一:一次性全部导出到一个Excel文件中。&&实际情况均报OutOfMemery错误,以下数据为报OutOfMemery数据时,数据到的最大数据数目,如表1所示:&&表1:报OutOfMemery错误时所能处理的数据量&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FastExecl&&& POI&&&&& JXL&&10000数据/sheet&&&&&&&&&&&& 37465&&&& 28996&& 42270&&5000数据/sheet&&&&&&&&&&&&&& 39096&&&& 31487&& 46270&&3000数据/sheet&&&&&&&&&&&&&&& 39000&&& 32493&& 47860&&小结:&&多分sheet能一定程度上减少内存的使用,但是均因为程序中创建的Cell(即为Excel中的一个单元格)无法释放,消耗大量内存,导致OutOfMemery错误;JXL表现最好,创建Cell内存使用较少。&&&导出方案二:先分多个Excel文件将数据全部导出,然后对多个Excel文件进行合并。&&首先,测试将全部数据导出所用的时间,如表2所示,数据均测试三次取平均。&&表2:导出全部数据所用时间&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FastExecl&&& POI&&& JXL&&10000数据/文件&&&&&&&&&&&& 68s&&&&&&&&& 33s&& 30s&&5000数据/文件&&&&&&&&&&&&&& 68s&&&&&&&&& 32s&& 33s&&3000数据/文件&&&&&&&&&&&&&& 59s&&&&&&&&& 33s&& 39s&&小结:&&均成功导出Excel文件,原因是导出一个Excel文件,释放所占用的创建Cell的内存。&&FastExecl表现最差,POI表现稳定,JXL随着数据的增大,速度一定程度上增快。&&&然后,进行整合,由于将多Excel合并成一个Excel文件的功能只有POI所有,故使用POI测试,结果如表3所示。&&注:数据量大合并还会报OutOfMemery错误,故合并总数据量以5万为准。&&表3:合并5万数据所用时间&&时间&&10000数据/文件 11s&&5000数据/文件 11s&&3000数据/文件 11s&&小结:&&使用POI对文件进行合并速度较快,但有数据量的限制。&&&&最佳答案可以用java实现poi导入方法 &楼主试过嘛?&LV2哥们,我有个不错的方法,使用mongodb ,mongodbVUE 工具 ,可以直接去 你的db中取出数据,并且 你的db中表结构直接复制到 mongodb中, 这时候你用java 实现对mongodb的读取,进行持久化到excel,速度会很快!70W 数据,读取估计也就是在5分钟左右.主要慢 ,是在对excel操作的时候.这里你需要注意一点,别用java 直接去mongodb中 取出70W 的数据,你先取出1W ,再去1W01~2W的数据,一个For循环 执行70次即可!希望采纳,高手勿喷!见听更好解决思路!。。等等等等等等完等等等等完最热搜索问答话题编程语言基础Web开发数据库开发客户端开发脚本工具游戏开发服务器软硬件开源组件类库相关问答等等等等等完等等等等等完最近浏览暂无贡献等级暂无贡献等级暂无贡献等级&LV2暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友

我要回帖

更多关于 oracle pl sql攻略 的文章

 

随机推荐