utl_file包的应用

原创 2004年10月19日 10:57:00
第一步:以管理员用户登陆
如:conn sys/password@sid as sysdba
第二步:设置可操作目录
需要指定utl_file包可以操作的目录。在oracle 10g以前,可以用以下方法:
1、alter system set utl_file_dir='e:/utl' scope=spfile;
2、在init.ora文件中,配置如下:
      UTL_FILE=E:/utl或者UTL_FILE_DIR=E:/utl
在oracle 10g中建议用以下方法配置:CREATE DIRECTORY utl AS 'E:/utl';
参见oracle online:

In the past, accessible directories for the UTL_FILE functions were specified in the initialization file using the UTL_FILE_DIR parameter. However, UTL_FILE_DIR access is not recommended. It is recommended that you use the CREATE DIRECTORY feature, which replaces UTL_FILE_DIR. Directory objects offer more flexibility and granular control to the UTL_FILE application administrator, can be maintained dynamically (that is, without shutting down the database), and are consistent with other Oracle tools. CREATE DIRECTORY privilege is granted only to SYS and SYSTEM by default.

第三步:授权给指定用户,以便执行utl_file
GRANT EXECUTE ON utl_file TO scott;

第四步:conn scott/tiger
就可以正常使用utl_file了。

具体使用实例:
create or replace procedure test_data_txt
IS
  LOG_FILE UTL_FILE.FILE_TYPE;
  CURR_TIME varchar2(25);
BEGIN
  --打开日志文件
  LOG_FILE := UTL_FILE.FOPEN('e:/utl','test.log','A');
  --获取当前时间
  select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') into CURR_TIME from dual;
  --输入信息
  UTL_FILE.PUTF(LOG_FILE, '-- START_TIME: %s --/nAuthor=%s/n', CURR_TIME, 'Tom');
  --输出缓存
  UTL_FILE.FFLUSH(LOG_FILE);
  --关闭
  UTL_FILE.FCLOSE(LOG_FILE);
  --UTL_FILE.FCLOSE_ALL;
end test_data_txt;

PL/SQL-->UTL_FILE包的使用介绍

在PL/SQL中,UTL_FILE包提供了文本文件输入和输出互功能。也就是说我们可以通过该包实现从操作系统级别来实现文件读取输入或者是写入到操作系统文件。通过该包也可以将其他系统的数据加载到数据库中。...
  • robinson_0612
  • robinson_0612
  • 2013年12月16日 10:18
  • 11033

使用PL/SQL的UTL_FILE写xls和csv格式文件

使用PL/SQL可以读写文件,我们可以将查询的数据以一定格式写入文件中,当我们注意分割字段的方式,就可以将它转换成我们需要的格式!首先我了解到将字段存入txt文件中,如果使用制表符分隔字段,将文件名后...
  • muzhonger
  • muzhonger
  • 2007年10月28日 18:23
  • 4905

oracle中utl_file包的使用

一、使用方法 包UTL_FIle用于读写操作系统的文件,前提是首先创建Directory对象、授权。然后就可以使用UTL_FILE包中提供的类型、过程、函数来读取,写入,操作目录中的文件了。 二、...
  • apn172
  • apn172
  • 2014年03月18日 16:27
  • 2004

Oracle - UTL_FILE包之详解

一、说明     UTL_FILE是oracle提供的一个标准的工具包,用来读写文件使用。           二、路径     包UTL_FIle用于读写操作系统的文件,前提是首先创建路径(Dire...
  • u013379717
  • u013379717
  • 2018年01月17日 16:27
  • 94

UTL_FILE详解

http://www.enterprisedb.com/docs/cn/8.3R2/oracompat/EnterpriseDB_OraCompat_8.3_CN-44.htm
  • cnham
  • cnham
  • 2010年12月30日 19:11
  • 6456

PLSQL UTL_FILE output file

DECLARE fh utl_file.file_type; BEGIN fh := utl_file.fopen('DATA_PUMP_DIR','test.txt','W'); utl...
  • engchina
  • engchina
  • 2017年02月03日 13:35
  • 165

将Oracle数据库数据取至服务器--utl_file标准包和spool下载方式

1.取数到数据库服务器 配置一个目录(有读写权限)并给数据库用户授权 --select * FROM all_directories dir create or replace directory C...
  • Maxwell_fb
  • Maxwell_fb
  • 2017年06月08日 13:58
  • 348

utl_file包

1、创建读、写目录并授权 SQL> CREATE DIRECTORY READ_DIR AS 'F:\READ_DIR'; Directory created SQL> CREATE DIRE...
  • csdn1284934570
  • csdn1284934570
  • 2015年06月09日 22:18
  • 666

UTL_FILE 包

1.获取足够权限(创建目录,授权) conn / as sysdba 2.建立目录 create directory my_dir as 'K:\tmp\oracle_my_dir'; 3.授予用户 ...
  • windowluffy
  • windowluffy
  • 2013年12月04日 10:15
  • 388

使用UTL_FILE类进行导出多个文件

需求:将ALL_OBJECTS按照3000条一个文件进行导出,比如6001条记录,就应该导出三个文件,第一个和第二个文件都是3000条,最后一个文件应该是1条。 下面的例子是使用SCOTT用户下的AL...
  • ziwen00
  • ziwen00
  • 2013年04月12日 08:02
  • 1341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:utl_file包的应用
举报原因:
原因补充:

(最多只允许输入30个字)