1 UTL_FILE_DIR参数定义

UTL_FILE_DIR是Oracle中的一个“静态参数”,可以设置一个或多个路径。用于在PL/SQL中进行文件I/O操作(可以用utl_file包)时指定路径。UTL_FILE_DIR是Oracle中的一个“静态参数”,可以设置一个或多个路径。用于在PL/SQL中进行文件I/O操作(可以用utl_file包)时限定路径,utl_file包只能在指定路径下创建,读取文件。utl_file_dir为空时,则不限定路径。

2 UTL_FILE包简介

在PL/SQL中没有直接的文件I/O接口,一般在调试程序时可以使用Oracle自带的DBMS_OUTPUT包的put_line函数(即向屏幕进行I/O 操作),但是不能对磁盘文件进行I/O操作。文件I/O对于数据库的开发来说显得很重要,比如如果数据库中的一部分数据来自于磁盘文件,那么就需要使用I/O接口把数据导入到数据库中来。

3 实验

3.1 设置utl_file_dir参数

SQL> alter system set utl_file_dir='/u01/app/oracle' scope=spfile;

System altered.

SQL> startup force;

SQL> show parameter utl_file

NAME                                 TYPE       VALUE

-------------------------------- ----------- ------------------------------

utl_file_dir                         string      /u01/app/oracle

设置多个路径:

SQL> alter system set utl_file_dir='/u01/app/oracle', '/oradata' scope=spfile;

System altered.

SQL> startup force

NAME                                 TYPE      VALUE

-------------------------------- ----------- ------------------------------

utl_file_dir                         string      /u01/app/oracle, /oradata

3.2 utl_file的IO操作

SQL> declare

fn utl_file.file_type;

begin

fn := utl_file.fopen('/u01/app/oracle', 'utl_test.txt', 'W');

utl_file.fclose(fn);

end;

/

PL/SQL procedure successfully completed.

不是utl_file_dir所指定的路径时,使用fopen方法时就会报错:

SQL> declare

fn utl_file.file_type;

begin

fn := utl_file.fopen('/u01/app/oracle/admin', 'utl_test.txt', 'W');

utl_file.fclose(fn);

end;

/

declare

*

ERROR at line 1:

ORA-29280: invalid directory path

ORA-06512: at "SYS.UTL_FILE", line 33

ORA-06512: at "SYS.UTL_FILE", line 436

ORA-06512: at line 4

为了避免上面的错误,可以使用路径对象。

SQL> create directory dir_test as '/oradata';

Directory created.

SQL> declare

fn utl_file.file_type;

begin

fn := utl_file.fopen('DIR_TEST', 'test.txt', 'W');

utl_file.fclose(fn);

end;

Oracle utl_file_dir参数详解的更多相关文章

  1. Oracle cursor_sharing 参数 详解

    一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...

  2. oracle内核参数详解

    一.前言 在生产中,我们安装oracle数据库时,为达到最优我们需要对操作系统的内核参数进行一定的调整.主要从内存.cpu.io以及网络等方面,根据实际情况进行调整.以下参数可供大家参考,如有不当之处 ...

  3. linux中与Oracle有关的内核参数详解

    工作当中遇到oracle运行时CPU占用率达到90%以上,调小以下参数值后恢复正常. fs.file-max = 65536 net.core.rmem_default=262144 net.core ...

  4. Oracle中用exp/imp命令参数详解【转】

    Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]:1  将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中   exp sy ...

  5. Oracle 11g Dataguard参数详解

    https://www.jb51.net/article/52269.htm注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 ...

  6. Oracle GoldenGate常用参数详解

    Oracle GoldenGate常用参数详解http://blog.itpub.net/28389881/viewspace-2564461/

  7. ORACLE——日期时间格式化参数详解 之一

    2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...

  8. Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  9. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

随机推荐

  1. jq一行一行循环读取table中的元素

    获取当前tr行号,可依据index 获取当前tr对象 获取某一tr下td的内容

  2. 丢弃昂贵的Detours Professional 3.0,使用免费强大的EasyHook

    我们要先看看微软官方的著名HOOK库: Detours Professional 3.0 售价:US$9,999.95 功能列表: Detours 3.0 includes the following ...

  3. 僵固式思维 OR 成长式思维

    有意无意中,看到这样的一篇文章,觉得非常富有正能量,而且也比较有同感.而且,不仅仅对于职场暂时失落或者失意的人有帮助,就是对学生,也一样的.故特分享,以共勉之. 我想每个新人进入职场之后都会遇到的第一 ...

  4. JavaScript 组件编写

    说明 这是一个联系人名过滤组件,还提供可选的"大小写是否敏感"选项,默认大小写不敏感. 一.HTML 结构 <ul class="contacts"> ...

  5. javascript总结4:javascript常见变量

    1 javascript变量 定义:变量在计算机中,是用于存储信息的"容器". 2  使用方法: 2-1 定义变量: var n1; 2-2 变量赋值: var n2=23.45; ...

  6. redis的一些简介

    Redis是Remote Dictionary Server的缩写,他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库. 1.       redis的数据类型: st ...

  7. 求数列中第K大的数

    原创 利用到快速排序的思想,快速排序思想:https://www.cnblogs.com/chiweiming/p/9188984.html array代表存放数列的数组,K代表第K大的数,mid代表 ...

  8. MongoDB整理笔记の管理Sharding

    1.列出所有的Shard Server > db.runCommand({ listshards: 1 }) --列出所有的Shard Server { "shards" : ...

  9. 代理(Proxy)模式

    代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的反问. * 抽象主题角色(Subject):声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题. * ...

  10. C#向服务器上传文件问题

    最近在写服务器端web上传的接口.但一直报错,上传不上去,后来发现是在分隔符中出现的问题. 错误的写法: var boundary = "---------------" + Da ...