知识大全 ORCLE导出大量数据到txt

Posted 文件

篇首语:人的知识愈广,人的本身也愈臻完善。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORCLE导出大量数据到txt相关的知识,希望对你有一定的参考价值。

ORCLE导出大量数据到txt  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ORCLE导出大量数据到txt

  方法一 使用SQLPlus的spool命令

  操作步骤

   新建一个脚本文件 存放起来 如D:\\spool sql 具体代码如下

  ?

Sql代码   setecho off 在用start命令执行一个sql脚本时 是否显示脚本中正在执行的SQL语句   setfeedback off 是否显示当前sql语句查询或修改的行数   setnewpage none 会在页和页之间没有任何间隔   setverify off    setpagesize 分多少页

  ?

setterm off 在用spool命令将一个大表中的内容输出到一个文件中时 将内容输出在屏幕上会耗费大量的时间 设置set termspool off后 则输出的内容只会保存在输出文件中 不会显示在屏幕上 极大的提高了spool的速度    settrims on 将SPOOL输出中每行后面多余的空格去掉    setlinesize 设置屏幕显示行宽 默认     setheading off 禁止输出列标题    settiming off 默认为OFF 设置查询耗时 可用来估计SQL语句的执行时间 测试性能   setnumwidth    SPOOL D:\\aaa txt   selectUserTelNo || || to_char(ReceiveTime yyyy MM dd HH :MI:SS ) || || UserContent || || ReplyContent FROMLogSMSHall_Mutual WHERErownum<= ;   SPOOL OFF

  注意如果有clob字段的话 最好用to_char函数进行转换

   用sqlplus登录到oracle数据库

  如果是在数据库本机 直接在命令行(WIN+R >CMD)窗口 输入 SQLPlus [用户名]/[密码] 即可

  如果远程登录 在命令行中输入 SQLPlus [用户名]/[密码]@[数据库IP地址:监听端口号]/[数据库实例名称] 回车即可 如 sqlplus Ajita/ @ : /orcl

   执行脚本文件

  在SQLPlus命令窗口中执行步骤 中的脚本文件 命令方式为 @[脚本文件位置] 如 @D:\\spool sql

  优点 简单易用

  缺点 不容易封装成存储过程

  方法二 使用UTL_FILE包的文件操作命令

  操作步骤(只需要一步 也可以封装成存储过程)

  编写PL/SQL过程 导出到txt即可

  ?

Sql代码   DECLARE   row_result varchar ( );   selectsql varchar ( );   qrycursor SYS_REFCURSOR;   txt_handle UTL_FILE file_type;   BEGIN     selectsql := select bizname ||   || bizstatus from bizbusinessbaseinfo ;     txt_handle := UTL_FILE FOPEN( D:/UTL a txt w );     openqrycursor forselectsql;     loop           fetchqrycursor intorow_result;         exit whenqrycursor%notfound;           UTL_FILE PUT_LINE(txt_handle row_result);     endloop;        关闭游标       closeqrycursor;     UTL_FILE FCLOSE(txt_handle);   end;

  注意事项

  如果没有设置参数utl_file_dir参数 本方法会报ora 的错误 解决方案有两种

   设置utl_file_dir参数 两种方式

  a) 在init ora中设置 直接修改文件即可

  b) 在sqlplus命令行设置

  ?

altersystem setutl_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

  设置完必须重新启动数据库

   创建自己的目录(不需要重启数据库)

  在命令行中执行命令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要大写

  优点 容易封装成存储过程

cha138/Article/program/Oracle/201311/18248

相关参考

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

利用多个转储文件导出大量Oracle数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac

知识大全 如何向 hadoop 导入数据

如何向hadoop导入数据1.2使用Hadoopshell命令导入和导出数据到HDFS实验准备实例需要用到的数据-weblog_entries.txt在namenode创建2个文件夹用来存放实验用的数

知识大全 如何将 Access 数据导出到 Oracle 数据库中

如何将Access数据导出到Oracle数据库中?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中

利用SQL*Loader将Excel数据导出到Oracle数据库中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 利用剪贴板实现高速导出数据到Excel

利用剪贴板实现高速导出数据到Excel  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在很多的时

知识大全 ASP.NET导出数据到Excel的实现方法

ASP.NET导出数据到Excel的实现方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在做as

知识大全 Java中根据模板导出数据到word的解决方案

Java中根据模板导出数据到word的解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  J

知识大全 以Oracle为例说明如何通过ODBC将数据库中的指定表导出到MDB数据库

以Oracle为例说明如何通过ODBC将数据库中的指定表导出到MDB数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 oracle数据库如何导出并重新导入

oracle数据库导出并重新导入 一导出数据库?将数据库TEST完全导出用户名scott密码tiger导出到D:\\testDBdmp中[plain]expscott/tiger@TESTf

知识大全 mysqldump用法数据库导出

  mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)转储包含创建表和/或装载表的SQL语句  如果你在服务器上进行备份并且表