A、说明
UTL_FILE是oracle提供的一个标准的工具包,用来读写文件使用。
B、创建路径
包UTL_FILE用于R.W.操作系统的文件,首先创建路径(Directory)并授权。ORACLE目录的作用就是让ORACLE数据库和操作系统之前进行文件的交互。
为了创建目录,必须具有DBA角色或者赋予了CREATE ANY DIRECTORY权限。如果普通用户被赋予了CREATE ANY DIRECTORY权限,那么用户就自动具备目录的R和W权限.
1.以管理员用户登陆(在服务器端Oracle执行)
--创建(以system用户登录数据库)
create or replace directory DIR as 'c:\tmp\DIR';
--路径授权,添加对路径读、写权限
grant read,write on directory DIR to public;
--utl_file包授权,添加执行权限
GRANT EXECUTE ON utl_file TO public;
--检查目录是否成功创建
select * FROM all_directories dir WHERE dir.DIRECTORY_NAME = 'DIR';
2.切换成用户登录
--检查目录是否成功创建
select * FROM all_directories dir WHERE dir.DIRECTORY_NAME = 'DIR';
C、题目(利用oracle的utl_file包将.hyou文件的数据提取到t_tmp表中)
文件a.hyou:
TIME=2022/01/02 08:41:30
TYPE=M
</Mau
Mau
abcd|C|0
|||*|
今天|真好|哇|123
Ll|平时|
||||||
|||*|
/Mau>
实例
create or replace procedure fileutL(v_filename in varchar2) AS
l_loc all_directories.directory_name%TYPE := 'DIR';
l_file utl_file.file_type;
l_file_exsits BOOLEAN;
l_file_length NUMBER;
l_block_size BINARY_INTEGER;
<


324

被折叠的 条评论
为什么被折叠?



