方法一:使用SQLPlus的spool命令
操作步骤
1. 新建一个脚本文件,存放起来,如D:\spool.sql,具体代码如下
set echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句
set feedback off --是否显示当前sql语句查询或修改的行数
set newpage none --会在页和页之间没有任何间隔
set verify off --
set pagesize 0 --分多少页
set term off --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。
set trims on --将SPOOL输出中每行后面多余的空格去掉
set linesize 600 --设置屏幕显示行宽,默认100
set heading off --禁止输出列标题
set timing off --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能
set numwidth 38
SPOOL D:\aaa.txt
select UserTelNo || ',' || to_char(ReceiveTime,'yyyy-MM-dd HH24:MI:SS') || ',' || UserContent || ',' || ReplyContent FROM LogSMSHall_Mutual WHERE rownum<=100;
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即可。
DECLARE
row_result varchar2(1024);
selectsql varchar2(1024);
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');
open qrycursor for selectsql;
loop
fetch qrycursor into row_result;
exit when qrycursor%notfound;
UTL_FILE.PUT_LINE(txt_handle,row_result);
end loop;
--关闭游标
close qrycursor;
UTL_FILE.FCLOSE(txt_handle);
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配置,稍微复杂点
分享到:
相关推荐
Oracle 导出 txt 文件方法是指使用 spool 命令将 Oracle 数据库中的数据导出到 txt 文件中。这种方法可以自定义导出格式,以便于程序直接导入。 首先,我们需要了解 Oracle 文本导出的原理。Oracle 文本导出的原理...
可以把oracle中大量数据导出为txt格式,便于在线下载、存储等后续处理。已经测试过,可以执行。
Oracle 大批量导出至txt文件 新建一个命令窗口,执行下面脚本。注意修改目标文件名、表名
在这里,`directory`是指数据库中的目录对象,`dumpfile`是你想要的输出文件名,`logfile`记录了导出过程的日志,`content=DATA_ONLY`表示只导出数据,`rows=yes`表示包含行数据。 接下来,我们讨论Oracle数据导出...
在这个场景中,我们需要创建一个BAT脚本来实现从Oracle数据库定时导出数据,并通过FTP将这些数据上传到远程服务器。 首先,我们需要了解Oracle数据库的基本操作。Oracle提供了多种数据导出工具,如SQL*Plus的`spool...
### Oracle 数据导出导入简介 #### 一、Oracle数据库的基本概念 Oracle数据库是一个关系型数据库管理系统,由不同的表空间组成,其中包括至少一个SYSTEM表空间。表空间是Oracle中用于管理存储空间的重要概念。 - ...
"ociuldr"是一个专门为实现这个目标而设计的工具,它能够高效地从Oracle数据库中导出数据到TXT文件。 ociuldr工具基于Oracle Call Interface (OCI),这是Oracle提供的一个编程接口,允许开发者直接与Oracle数据库...
4. 其他高级选项:包括只导出数据(`content=data_only`)、只导出元数据(`content=metadata_only`)、排除表(`exclude=table`)等。 二、导入(Import) 导入数据则通过`impdp`(Data Pump Import)工具实现,...
3. **执行Oracle导出命令**:使用Oracle的`expdp`命令(这里简写为`expsystem/password`)来导出数据至指定路径,并以`fmt`变量值作为导出文件名的一部分。 4. **参数文件指定**:通过`PARFILE`变量指定参数文件路径...
在日常的数据库管理和维护工作中,经常需要将Oracle数据库中的数据导出到其他格式的文件中,比如Excel、TXT或者Word等,以便于进一步的数据分析、处理或共享。本文将详细介绍如何使用Oracle提供的工具和技术实现这些...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其数据导入导出功能是数据库管理和维护中的重要环节。本文将深入探讨Oracle数据库的导入导出命令,特别是如何更改字符集的相关知识。 首先,Oracle...
- **expdp**:用于导出数据,它创建一个DMP文件,包含了数据库对象的元数据和实际数据。 - **impdp**:用于导入数据,可以从DMP文件中恢复数据到数据库中。 2. **Sql Loader (sqlldr)** Sql Loader是一种命令行...
在Oracle数据库管理中,数据的导入与导出是常见的操作之一,主要用于数据迁移、备份或恢复等场景。本文将深入解析Oracle的导入导出语句,包括其基本语法、应用场景及高级用法,帮助读者更好地理解和掌握Oracle的导出...
通过以上步骤,你已经成功地使用C#将Oracle数据库表的数据导出到Excel文件中。这个过程在数据报告、分析或备份等场景中非常实用。值得注意的是,如果你的应用程序不需要依赖Office软件,还可以考虑使用其他库,如...
为了方便用户对数据库中的数据进行管理和维护,Oracle 提供了多种导出数据的方法。下面将详细介绍 Oracle 下导出某用户所有表的方法。 方法一: 按用户方式导出数据 首先,需要使用 exp 命令来导出某用户所有表的...
要将Oracle中的数据导出到Access,你可以通过以下方法: - **使用SQL查询**:编写SQL SELECT语句,从Oracle中提取所需数据,然后将结果保存为CSV或TXT文件,再导入到Access中。 - **使用ODBC**:配置Oracle的ODBC...
定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...
MySQL数据导入到Oracle的中间件,其工作原理是将MySQL数据的导出命令写入到d:/mysqltooracle/exportcmd.txt,打开该文件即可获取需要手动执行的导出MySQL数据的sql脚本,执行后会在 “/var/mysqltooracle”(针对...
在导出数据的过程中,我们可以选择不同的文件格式,例如 CSV、TXT、SQL 等。我们也可以选择是否导出表结构信息。 此外,我们还可以使用 Toad 来导出数据库服务器上的所有表中的数据。我们可以点击 "Database" -> ...