`
楚若之夜
  • 浏览: 121340 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ORCLE导出大量数据到txt

 
阅读更多

方法一:使用SQLPlus的spool命令 
操作步骤 
1. 新建一个脚本文件,存放起来,如D:\spool.sql,具体代码如下 

Sql代码  收藏代码
  1. set echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句  
  2. set feedback off --是否显示当前sql语句查询或修改的行数  
  3. set newpage none --会在页和页之间没有任何间隔  
  4. set verify off --  
  5. set pagesize 0 --分多少页  
  6. set term off --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。  
  7. set trims on --将SPOOL输出中每行后面多余的空格去掉   
  8. set linesize 600 --设置屏幕显示行宽,默认100   
  9. set heading off --禁止输出列标题   
  10. set timing off --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能  
  11. set numwidth 38  
  12. SPOOL D:\aaa.txt  
  13. select UserTelNo || ',' || to_char(ReceiveTime,'yyyy-MM-dd HH24:MI:SS') || ',' || UserContent || ',' || ReplyContent FROM LogSMSHall_Mutual WHERE rownum<=100;  
  14. SPOOL OFF  


注意如果有clob字段的话,最好用to_char函数进行转换。 
2. 用sqlplus登录到oracle数据库 
如果是在数据库本机,直接在命令行(WIN+R->CMD)窗口,输入“SQLPlus [用户名]/[密码]”即可。 
如果远程登录,在命令行中输入“SQLPlus [用户名]/[密码]@[数据库IP地址:监听端口号]/[数据库实例名称]”,回车即可。如“sqlplus Ajita/1@192.168.85.136:1521/orcl”。 
3. 执行脚本文件 
在SQLPlus命令窗口中执行步骤1中的脚本文件。命令方式为“@[脚本文件位置]”,如“@D:\spool.sql” 

优点:简单易用 
缺点:不容易封装成存储过程 

方法二:使用UTL_FILE包的文件操作命令 
操作步骤(只需要一步,也可以封装成存储过程) 
编写PL/SQL过程,导出到txt即可。 

Sql代码  收藏代码
  1. DECLARE  
  2. row_result varchar2(1024);  
  3. selectsql varchar2(1024);  
  4. qrycursor SYS_REFCURSOR;  
  5. txt_handle UTL_FILE.file_type;  
  6. BEGIN  
  7.   selectsql := ' select bizname ||''  ''|| bizstatus from bizbusinessbaseinfo ';  
  8.   txt_handle := UTL_FILE.FOPEN('D:/UTL','a.txt','w');  
  9.   open qrycursor for selectsql;  
  10.   loop    
  11.       fetch qrycursor into row_result;  
  12.       exit when qrycursor%notfound;    
  13.       UTL_FILE.PUT_LINE(txt_handle,row_result);  
  14.   end loop;    
  15.   --关闭游标    
  16.   close qrycursor;  
  17.   UTL_FILE.FCLOSE(txt_handle);  
  18. end;  



注意事项: 
如果没有设置参数utl_file_dir参数,本方法会报ora 29280的错误,解决方案有两种。 
1. 设置utl_file_dir参数,两种方式: 
a) 在init.ora中设置,直接修改文件即可 
b) 在sqlplus命令行设置 
alter system set utl_file_dir=* scope=spfile; 
注意设置utl_file_dir的要点:  
    utl_file_dir=*      这表示你能操作任何目录,尽量不要用  
    utl_file_dir=d:\    这表示你能操作d:\目录下的文件,但你不能操作d:\目录下的子目录  
    注意在设置 utl_file_dir=路径时,如果路径是长路径名,例如c:\my    temp目录,则你必须加上'',例如:         utl_file_dir='c:\my    temp'  
    utl_file_dir可以是多个路径  utl_file_dir=c:\,d:\,d:\temp,'c:\my    temp'  
    设置完必须重新启动数据库 

2. 创建自己的目录(不需要重启数据库) 
在命令行中执行命令create or replace directory MY_DIR  as 'c:/abc';即可。然后调用的时候,把frw:=utl_file.fopen('c:\abc','emp.txt','w');改成frw:=utl_file.fopen('MY_DIR','emp.txt','w');注意MY_DIR要大写。 

优点:容易封装成存储过程 
缺点:要使用UTL_FILE配置,稍微复杂点 

分享到:
评论

相关推荐

    Java将oracle数据导出为txt文件

    可以把oracle中大量数据导出为txt格式,便于在线下载、存储等后续处理。已经测试过,可以执行。

    oracle 快速导出数据至cvs文件

    非常好用的,速度超快,免费的。请支持原作者,微博名:云计算民工。我只是搬运工。教程请自行去搜。

    Oracle大数据批量导出工具

    在Oracle数据库上导出上千万上亿数据的工具 cmd 到本目录 然后执行如下命令: -&gt;sqluldr2.exe user=用户名/密码@数据库 query="查询语句" table=表名 head=yes FILE=存放路径 例如:sqluldr2.exe user=u/pass@db ...

    利用多个转储文件导出大量Oracle数据

    Oracle的数据导出实用工具是整个备份策略中很重要的一部分。本文介绍了利用多个转储文件导出大量Oracle数据。

    从数据库将大量数据导出到Excel文件程序总结

    这是我在公司实习的时候研究的课题,主要将大量数据从数据库导出到Excel文件。(一般是值Excel2007及以后版本)因为Excel2003及以前的版本中能保持的数据量是有限制的。Excel2007及以后版本中的数据能保持100万条...

    数据库大量数据导出Excel

    POI3.8版本之前的版本处理大量数据的导出Excel效果不是很理想,主要在与Excel2003版本单个Sheet的行限制为65536,大量数据的导出得分多个Sheet,针对这一点,客户就不会满意。其次,在实验过程中,大数据量的导出很...

    plsql大数据量导出工具

    oracle百(千)万级表数据导出工具,用于Oracle数据库导出大数据量表 ,保存格式如csv

    sqlload2数据库大量数据导出工具

    oracle/mysql,大量数据导出工具。快速方便。

    Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

    本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法。分享给大家供大家参考。具体实现方法如下: # Export Oracle database tables to CSV files # FB36 - 201007117 import sys import csv ...

    使用python将大量数据导出到Excel中的小技巧分享

    如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以上两个问题。 (2)具体步骤如下: 1.第一步,安装openpyxl, 使用pip install openpyxl即可,但是在windows下安装的是2.2.6版本,但是centos自动安装的是...

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...

    将大量数据从数据库导入到Excel文档

    这是我在公司实习的时候研究的课题,主要将大量数据从数据库导出到Excel文件。(一般是值Excel2007及以后版本)因为Excel2003及以前的版本中能保持的数据量是有限制的。Excel2007及以后版本中的数据能保持100万条...

    Oracle11g从入门到精通

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...

    Oracle.11g.从入门到精通 (2/2)

    10.2.1 使用expdp导出数据 10.2.2 使用impdp导入数据 10.3 使用OEM中进行备份与恢复 10.3.1 通过导出文件来备份 10.3.2 通过导入来恢复 10.4 脱机备份与恢复 10.4.1 脱机备份 10.4.2 脱机恢复 10.5 联机备份与恢复 ...

    Oracle.11g.从入门到精通 (1/2)

    10.2.1 使用expdp导出数据 10.2.2 使用impdp导入数据 10.3 使用OEM中进行备份与恢复 10.3.1 通过导出文件来备份 10.3.2 通过导入来恢复 10.4 脱机备份与恢复 10.4.1 脱机备份 10.4.2 脱机恢复 10.5 联机备份与恢复 ...

    Expert Oracle Database 11g Administration(完整书签版)

    书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。 本书还提供了dba完成本职工作必备的基本的uniix、...

    ORACLE数据库智能化管理系统2012

    你们还在为处理日常大量数据,天天写过多的SQL语句而烦恼吗? 还在为由于没有面面具到的软件来汇制想要的日常数据报表而烦恼吗? 还在为查找帐务不平的数据或数据重复,而不知是哪些数据错误或重复,造成不能继续操作...

    数据备份恢复工具(For oracle)

    由于开发的程序总要备份一些数据字典,又找不到合适的工具,所以就自己写了一个。功能特点:可以导出大字段及部分索引信息。用到的控件ehlib3.1和ODAC4都可以在网站上下到。其中用到ODAC4的VirtualTable,对其进行了...

    pdmreader数据字典阅读器

    将数据导出到excel,txt,csv,xls,word,html文件;定时检测PdmReader版本,进行自动升级 更新等。 PdmReader功能集中于数据字典查询管理和Ado数据库客户端辅助工具两个方面,与PowerDesigner相比在模型设计上...

    深入解析Oracle.DBA入门进阶与诊断案例

    针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...

Global site tag (gtag.js) - Google Analytics