UTL_FILE 包

原创 2013年12月04日 10:15:37


1.获取足够权限(创建目录,授权)

conn / as sysdba

2.建立目录
create directory my_dir as 'K:\tmp\oracle_my_dir';

3.授予用户 对该目录的相关读写权限
grant read,write on directory my_dir to public,hr;

4.更改系统参数

alter system set utl_file_dir='k:\tmp\oracle_my_dir' scope=spfile;

alter session 仅对当前session有效

alter system 对整个系统有效

scope=spfile 修改配置文件,重启有效 

scope=memory 修改内存,立即生效,重启数据库还原

(此处情况不适合使用memory, 否则:   ORA-02095: 无法修改指定的初始化参数),因为有些参数不能动态修改。

scope=both;(默认)


5.修改完参数后,重启数据库

shutdown immediate;

startup;


6.存储过程定义

create or replace procedure sal_status(
dir in varchar2,filename in varchar2) is
file utl_file.file_type;
cursor empc is
select last_name,salary,department_id from employees order by department_id;
newdeptno employees.department_id%type;
olddeptno employees.department_id%type:=0;
begin
file:=utl_file.fopen(dir,filename,'w');
utl_file.put_line(file,'report:generated on '||sysdate);
utl_file.new_line(file);
for emp_rec in empc loop
  if emp_rec.department_id<>olddeptno then
    utl_file.put_line(file,'department:'||emp_rec.department_id);
  end if;
  utl_file.put_line(file,'employee:'||emp_rec.last_name||'earns:'||emp_rec.salary);
olddeptno:=emp_rec.department_id;
end loop;
utl_file.put_line(file,'***end of report***');
utl_file.fclose(file);
exception
  when utl_file.invalid_filehandle then
  raise_application_error(-20001,'invalid file');
  when utl_file.write_error then
  raise_application_error(-20002,'unable to be write');
end sal_status;
/

7.执行

execute sal_status('MY_DIR','salreport.txt');









oracle中utl_file包读写文件操作学习

在oracle中utl_file包提供了一些操作文本文件的函数和过程,学习了一下他的基本操作1.创建directory,并给用户授权--创建directory create or replace di...

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

1.取数到数据库服务器 配置一个目录(有读写权限)并给数据库用户授权 --select * FROM all_directories dir create or replace directory C...

Oracle内建包UTL_FILE使用说明

在数据库的开发中,当PL/SQL语句很复杂的时候,我想写一些Log,就像java的Log4j那样。这样就可以很好的跟踪程序的运行情况。在网上找到的文章不是很好用,修改了一下。1:在Oracle服务器上...

utl_file包介绍

utl_file包的应用是非常广泛的,而且也很实用,应为Oracle虽然有SQL*Loader可以将文本的内容读到数据库里,但是不能将数据库内容输出到文本。所以基本上是要用到utl_file包来操作。...
  • paluo
  • paluo
  • 2011年11月10日 09:25
  • 1963

Oracle之UTL_FILE 包用法详解

Oracle之UTL_FILE 包用法详解 博客分类:  ORACLE   UTL_FILE包可以用来读写操作系统上的文本文件,UTL_FILE提供了在客户端(FORM...
  • al_jin
  • al_jin
  • 2015年06月30日 14:26
  • 184

用两种不同的方法导出ORACLE 查询数据为CSV 文件 (python 代码 与 使用 utl_file 包)

因要对客户发送一些推广邮件,需要把email导出到csv,再使用专门邮件发送软件进行发送。 在使用ORACLE 的 utl_file 包,把数据写到文件中。 看到是逐条数据写入文件。速度比较慢。所...

oracle读写文件--利用utl_file包对磁盘文件的读写操作

摘要: 用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做,后来想起ORACLE有很多包,功能很好很强大,于是网上参考了些...

Oracle之UTL_FILE 包用法详解

[转自] http://zhangzhongjie.iteye.com/blog/1903024 UTL_FILE包可以用来读写操作系统上的文本文件,UTL_FILE提供了在客户端(...
  • kolabb
  • kolabb
  • 2016年01月26日 15:35
  • 1095

Oracle之UTL_FILE 包用法详解

http://zhangzhongjie.iteye.com/blog/1903024 UTL_FILE包可以用来读写操作系统上的文本文件,UTL_FILE提供了在客户端(FOR...

ORACLE的UTL_FILE包

ORACLE的UTL_FILE包   包UTL_FIle用于读写操作系统的文件,前提是首先创建Directory对象、授权。然后就可以使用UTL_FILE包中提供的类型、过程、函数来读取,写入,操...
  • shojia
  • shojia
  • 2014年02月24日 11:16
  • 350
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UTL_FILE 包
举报原因:
原因补充:

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