Oracle之UTL_FILE 包用法详解

php中文网
发布: 2016-06-07 17:36:08
原创
1206人浏览过

UTL_FILE包可以用来读写操作系统上的文本文件,UTL_FILE提供了在客户端(FORM等等)和服务器端的文件访问功能。

utl_file包可以用来读写操作系统上的文本文件,utl_file提供了在客户端(form等等)和服务器端的文件访问功能。

创建测试目录:

新建一个command window;

创建目录:(以system用户登录数据库)

SQL> create or replace directory cux_log_dir as '/home/appltest/debug';

Directory created

赋权限。

SQL> grant read, write on directory cux_log_dir to public;

Grant succeeded

检查目录是否成功创建

select * FROM all_directories dir WHERE dir.DIRECTORY_NAME = 'CUX_LOG_DIR';

 

过程和函数:

  • FOPEN
  • 语法

    m18麦考林整站 for Ecshop
    m18麦考林整站 for Ecshop

    m18麦考林整站 for Ecshop v2.7.3 安装方法: 1,解压rar包上传到网站根目录 2,导入sql数据库文件,到你的数据库里,可以phpmyadmin等软件 3,修改data里config.php里面的数据库 用户名 密码等信息 为你自己的数据库信息 4,安装完毕之后的后台用户名密码为: 后台地址:域名/admin 用户名:admin 密码:admin123 模板使用教程: htt

    m18麦考林整站 for Ecshop 0
    查看详情 m18麦考林整站 for Ecshop

    UTL_FILE.FOPEN (location IN VARCHAR2,

    filename IN VARCHAR2,

    open_mode IN VARCHAR2,

    max_linesize IN BINARY_INTEGER DEFAULT 1024)RETURN FILE_TYPE;

    Filename略。

    open_mode指明文件打开的模式。有如下几种:

    max_linesize指定文件文本每一行存放的最大字符数。

     

  • FCLOSE
  • 功能:关闭一个打开的文件。

     

  • FCLOSE_ALL

  • 结果为:


    结果为:

  • FCOPY
  • 语法

    UTL_FILE.FCOPY ( src_locationIN VARCHAR2,

    src_filenameIN VARCHAR2,

    dest_locationIN VARCHAR2,

    dest_filename IN VARCHAR2,

    start_lineIN BINARY_INTEGER DEFAULT 1,

    end_lineIN BINARY_INTEGER DEFAULT NULL);

     

    src_filename将要被复制的来源文件

    dest_location 被创建的目标文件存放的目录名。

    dest_filename 从来源文件创建的目标文件。

     

    测试程序之前:

    测试代码:

    测试程序之后:


  • FFLUSH
  • 语法

    UTL_FILE.FFLUSH (file IN FILE_TYPE);

     

  • FGETATTR
  • filename IN VARCHAR2,

    fexists OUT BOOLEAN,

    file_length OUT NUMBER,

    block_size OUT BINARY_INTEGER);

    block_size文件系统块的字节大小。

     

    测试:

     

    DECLARE
      l_loc        all_directories.directory_name%TYPE := 'CUX_LOG_DIR';
      l_file        utl_file.file_type;
      l_file_exsits BOOLEAN;
      l_file_length NUMBER;
      l_block_size  BINARY_INTEGER;
      l_buffer      VARCHAR2(1024);
    BEGIN
      utl_file.fgetattr(location    => l_loc,
                        filename    => 'l001.log',
                        fexists    => l_file_exsits,
                        file_length => l_file_length,
                        block_size  => l_block_size);
        IF l_file_exsits THEN
     
      l_file := utl_file.fopen(location  => l_loc,
                              filename  => 'l001.log',
                              open_mode => 'R');
      dbms_output.put_line('file exsits');
      dbms_output.put_line('file length:' || l_file_length);
      dbms_output.put_line('block sieze :' || l_block_size);
    END IF;
    utl_file.fclose_all;

    END;

    linux

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号