Oracle - UTL_FILE包之详解

一、说明
    UTL_FILE是oracle提供的一个标准的工具包,用来读写文件使用。
    
    
二、路径
    包UTL_FILE用于读写操作系统的文件,前提是首先创建路径(Directory)并授权。ORACLE目录的作用就是让ORACLE数据库和操作系统之前进行文件的交互。
    为了创建目录,必须具有DBA角色或者赋予了CREATE ANY DIRECTORY权限。如果普通用户被赋予了CREATE ANY DIRECTORY权限,那么用户就自动具备目录的READ和WRITE权限

    创建:CREATE [OR REPLACE] DIRECTORY directory_name AS 'path_name' ;

create or replace directory DB_OUT as '/usr/local/xilen/DB_OUT'; 

    赋权:GRANT READ[,WRITE] ON DIRECTORY directory_namne TO user_name;

--路径授权,添加对路径读、写权限
grant read,write on directory DB_OUT to xilen;

--utl_file包授权,添加执行权限
GRANT EXECUTE ON utl_file TO xilen;

    查看(具有READ和WRITE权限的目录):
-- 限制单列的显示长度
COL DIRECTORY_PATH format a60;  

-- 查询路径
SELECT DIRECTORY_NAME, DIRECTORY_PATH, GRANTEE, PRIVILEGE FROM USER_TAB_PRIVS T, ALL_DIRECTORIES D WHERE T.TABLE_NAME(+)=D.DIRECTORY_NAME;


三、详解
    1、FILE_TYPE
        该类型是UTL_FILE包中定义的记录类型,其成员是私有的,不能够被直接引用。该类型的定义如下:
TYPE file_type IS RECORD(
    id  BINARY_INTEGER,
    datatype BINARY_INTEGER
);

    2、FOPEN
        该函数用于打开文件。使用这个函数最多可以打开50个文件,语法如下:
UTL_FILE.FOPEN(
    location IN VARCHAR2,    -- 文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值