用PLSQL中的UTL_FILE包来读写文件
来源:互联网 发布:it认证培训班 编辑:程序博客网 时间:2024/05/21 07:11
我们知道PLSQL是一门非常强大的语言,上次有用这们语言做过发送邮件的程序,今天我们来看一下,如何用PLSQL来操作文件。
首先我们使用管理员账号来创建一个路径,并将这个路径进行授权给相应的用户。
CREATE OR REPLACE directory file_dir AS 'D:\test'; --windows系统路径grant READ, WRITE ON directory file_dir TO customerUser; --路径授权,添加对路径读、写权限grant EXECUTE ON utl_file TO customerUser; --utl_file包授权,添加执行权限
完成上面的授权之后,我们来使用这个customerUser
账号登录进去(如我使用的是PL/SQL Develpoer)。
如何保存数据到文件
这里我们分为三步:打开文件,写入数据,关闭文件
--====保存数据到文件====--DECLARE v_file utl_file.file_type; v_input CLOB := '我是要保存到文件里面的内容';BEGIN --打开文件 v_file := utl_file.fopen('FILE_DIR', 'data.txt', 'w'); --将数据写入到文件中 utl_file.put_line(v_file, v_input); --关闭文件 utl_file.fclose(v_file);EXCEPTION WHEN utl_file.access_denied THEN dbms_output.put_line('拒绝访问!'); WHEN OTHERS THEN dbms_output.put_line('SQLERRM: ' || SQLERRM);END;
注意到上面的打开文件的代码中使用的打开模式是w
这里文件的打开模式有如下三种
W:是写文件,文件不存在则创建文件,如果文件存在则覆盖之前文件的内容
A:是追加,若文件不存在则创建文件,文件存在,则在文件结束后面追加内容
还有一种在读文件的时候会使用
R:读文件,文件不存在报错,文件存在则将文件内容读出来
如何读取文件中的数据
在从文件读取数据的过程我们也分为三步:打开文件,读取文件数据,关闭文件
--====读取文件中的数据====--DECLARE v_file utl_file.file_type; v_output CLOB := '';BEGIN --打开文件 v_file := utl_file.fopen('FILE_DIR', 'data.txt', 'r'); --将文件的数据写入到变量中 utl_file.get_line(v_file, v_output); --关闭文件 utl_file.fclose(v_file); --测试输出文件内容 dbms_output.put_line(v_output);EXCEPTION WHEN utl_file.access_denied THEN dbms_output.put_line('拒绝访问!'); WHEN OTHERS THEN dbms_output.put_line('SQLERRM: ' || SQLERRM);END;
如何拷贝文件中的数据待另外一个文件
这是我们直接使用UTL_FILE
里面的fcopy()
来进行文件的复制操作
--====从一个文件拷贝数据到另外一个文件====--BEGIN utl_file.fcopy(src_location => 'FILE_DIR', src_filename => 'src.txt', dest_location => 'FILE_DIR', dest_filename => 'dst.txt', start_line => '1', end_line => '4');EXCEPTION WHEN utl_file.access_denied THEN dbms_output.put_line('拒绝访问!'); WHEN OTHERS THEN dbms_output.put_line('SQLERRM: ' || SQLERRM);END;
上面代码中的start_line
和end_line
分别表示复制源文件的行数区间,不是必要的字段,默认复制全部内容。
更多的内容可以参考Oracle之UTL_FILE 包用法详解
阅读全文
0 0
- 用PLSQL中的UTL_FILE包来读写文件
- oracle利用utl_file包来读写文件
- oracle中utl_file包读写文件操作学习
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- plsql学习范例--使用utl_file包将查询结果输出到文件中
- 用oracle utl_file包读取数据写入文件
- 用UTL_FILE操作文件
- Oracle存储过程读写文件 UTL_FILE
- utl_file包进行OS文件操作
- UTL_FILE 包
- utl_file包
- PL/SQL 3.3以上的版本中,UTL_FILE包答应用户通过PL/SQL读写操作系统文件
- PLSQL UTL_FILE output file
- 用RandomAccessFile来读写文件
- ORACLE UTL_FILE文件包的应用,文件I/O操作
- ORACLE UTL_FILE文件包的应用,文件I/O操作
- ORACLE UTL_FILE文件包的应用,文件I/O操作
- 欢迎使用CSDN-markdown编辑器
- Vue 开发|文件目录结构部署
- 关于Linux其他用户升级管理员权限
- python os.path模块(os.listdir和os._exit())
- Android studio导入项目的时候报错:Error:Execution failed for task ':app:compileDebugJava'. > Cannot find Syste
- 用PLSQL中的UTL_FILE包来读写文件
- 2017.11.22心得
- bzoj 3130: [Sdoi2013]费用流 网络流+二分答案
- apple 审核 apple原网址
- 教您在Xshell中创建一个SSH隧道
- tomcat的startup.bat启动后隐藏,可以做到吗?因为有些时候大部分人都有强迫症,看见窗口就想关掉,或者可能会一不小心关掉
- 分治算法 求第k小元素 O(n) < O(nlog2^n)
- 根据wsdl反向生成webservice服务端(3种方法)
- Android--gson将list转化为json字符串