ITPub博客

首页 > 数据库 > Oracle > Oracle 11g UTL_FILE 包的使用方法

Oracle 11g UTL_FILE 包的使用方法

原创 Oracle 作者:feelpurple 时间:2016-02-03 15:11:41 0 删除 编辑
通过 UTL_FILE 包,PL/SQL 程序可以读写操作系统上的文本文件。

创建目录并授予读写权限
SQL> create directory user_dir as 'E:\app\Administrator\oradata\dir';

目录已创建。

SQL> grant read on directory user_dir to public;

授权成功。

SQL> grant write on directory user_dir to public;

授权成功。

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME                 DIRECTORY_PATH
----- ------------------------------ -------------------------------------------------------------------------------
SYS   ORACLE_OCM_CONFIG_DIR          E:\app\Administrator\product\11.2.0\dbhome_1/ccr/state
SYS   DATA_PUMP_DIR                  E:\app\Administrator/admin/flame/dpdump/
SYS   MEDIA_DIR                      E:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\product_media\
SYS   XMLDIR                         c:\ade\aime_dadvfh0169\oracle/rdbms/xml
SYS   DATA_FILE_DIR                  E:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\sales_history\
SYS   LOG_FILE_DIR                   E:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\log\
SYS   SS_OE_XMLDIR                   E:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\order_entry\
SYS   SUBDIR                         E:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\order_entry\/2002/Sep
SYS   USER_DIR                       E:\app\Administrator\oradata\dir
已选择9行。

在 E:\app\Administrator\oradata\dir 目录下创建一个名词为 01.txt 的文本文件,在里面写上一段文字。

通过 UTL_FILE 包来读取 01.txt 里面的内容

SQL> declare
  2    V1 varchar2(32767);
  3    F1 utl_file.file_type;
  4    --v_text varchar2(500);
  5  begin
  6    F1 := utl_file.fopen('USER_DIR', '01.txt', 'R');  -- 打开文本文件,R 代表打开模式为读取
  7    utl_file.get_line(F1, V1);  -- 读取文本中的内容到 V1 变量中
  8    utl_file.fclose(F1);  -- 关闭文本文件
  9    dbms_output.put_line(V1);  --输出文本里面的内容
 10  end;
 11  /
Previously, the mysql-server sub-packages did not contain the logrotate script. Consequently, the log rotation had to be
 has been provided
by the mysql-server sub-packages, and users can use the script to log into the mysqld.log file by uncommenting appropria
PL/SQL 过程已成功完成。

  1  declare
  2    V1 varchar2(32767);
  3    F1 utl_file.file_type;
  4  begin
  5    F1 := utl_file.fopen('USER_DIR', '01.txt', 'R');
  6    utl_file.get_line(F1, V1, 30);
  7    utl_file.fclose(F1);
  8    dbms_output.put_line(V1);
  9* end;
SQL> /
Previously, the mysql-server s
PL/SQL 过程已成功完成。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26506993/viewspace-1986008/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-01

  • 博文量
    404
  • 访问量
    1673958