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标准包和spool下载方式

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

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

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

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
  • 1906

利用UTL_FILE包实现文件I/O操作

文件I/O对于数据库的开发来说显得很重要,比如如果数据库中的一部分数据来自于磁盘文件,那么就需要使用I/O接口把数据导入到数据库中来。在PL/SQL中没有直接的I/O接口,一般在调试程序时可以使用Or...

PL/SQL 3.3以上的版本中,UTL_FILE包答应用户通过PL/SQL读写操作系统文件

PL/SQL 3.3以上的版本中,UTL_FILE包答应用户通过PL/SQL读写操作系统文件。如下:   declare   file_handle UTL_FILE.FILE_TYPE;   ...

ORACLE的UTL_FILE包

ORACLE的UTL_FILE包   包UTL_FIle用于读写操作系统的文件,前提是首先创建Directory对象、授权。然后就可以使用UTL_FILE包中提供的类型、过程、函数来读取,写入,操...

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

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

Oracle之UTL_FILE 包用法详解

UTL_FILE包可以用来读写操作系统上的文本文件,UTL_FILE提供了在客户端(FORM等等)和服务器端的文件访问功能。 创建测试目录: 新建一个command window; ...

Oracle内建包UTL_FILE使用说明

在数据库的开发中,当PL/SQL语句很复杂的时候,我想写一些Log,就像java的Log4j那样。这样就可以很好的跟踪程序的运行情况。在网上找到的文章不是很好用,修改了一下。 1:在Oracle服务...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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