oracle的文件(UTL_FILE)操作
2015-05-20 23:03
316 查看
oracle提供了一个能否对操作系统操作的工具包UTL_FILE
Create Directory REPORT_DIR As ‘/home/oracle/chenlong/’
REPORT_DIR 为创建directory的名称
/home/oracle/chenlong/ 为具体的操作系统目录
想对directory下的文件进行操作,就要授予相关的权限:
grant read,Write On Directory Report_DIR to SCOTT
把directory的读写权限给给scott
src_location IN VARCHAR2, –员
src_filename IN VARCHAR2,
dest_location IN VARCHAR2,
dest_filename IN VARCHAR2,
start_line IN BINARY_INTEGER DEFAULT 1,
end_line IN BINARY_INTEGER DEFAULT NULL);
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER DEFAULT 1024) 最小为1 最大为32767
RETURN FILE_TYPE;
open_mode:
Specifies how the file is opened. Modes include:
r – read text 读字符
w – write text 写
a – append text 添加
rb – read byte mode 读字节
wb – write byte mode
ab – append byte mode
If you try to open a file specifying ‘a’ or ‘ab’ for open_mode but the file does not exist, the file is created in write mode.
如果文件打开的方式为 a,ab,文件不存在,那么文件将会创建
location IN VARCHAR2,
filename IN VARCHAR2);
src_location IN VARCHAR2,
src_filename IN VARCHAR2,
dest_location IN VARCHAR2,
dest_filename IN VARCHAR2,
overwrite IN BOOLEAN DEFAULT FALSE);
file IN FILE_TYPE,
buffer OUT VARCHAR2,
len IN PLS_INTEGER DEFAULT NULL);
文件打开模式必须为 r
file IN FILE_TYPE)
RETURN BOOLEAN;
file IN FILE_TYPE,
lines IN BINARY_INTEGER := 1)
file IN FILE_TYPE,
buffer IN VARCHAR2,
autoflush IN BOOLEAN DEFAULT FALSE);
程序举例:
相关的文件:
一 oracle的directory
想要oracle对文件进行操作就要先创建一个directory来指向操作系统目录下的具体某个目录Create Directory REPORT_DIR As ‘/home/oracle/chenlong/’
REPORT_DIR 为创建directory的名称
/home/oracle/chenlong/ 为具体的操作系统目录
想对directory下的文件进行操作,就要授予相关的权限:
grant read,Write On Directory Report_DIR to SCOTT
把directory的读写权限给给scott
二 UTL_FILE工具包
1,关闭文件
UTL_FILE.FCLOSE (file IN OUT FILE_TYPE);2,复制文件
UTL_FILE.FCOPY (src_location IN VARCHAR2, –员
src_filename IN VARCHAR2,
dest_location IN VARCHAR2,
dest_filename IN VARCHAR2,
start_line IN BINARY_INTEGER DEFAULT 1,
end_line IN BINARY_INTEGER DEFAULT NULL);
3,打开文件 只能同时打开50个文件
UTL_FILE.FOPEN (location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER DEFAULT 1024) 最小为1 最大为32767
RETURN FILE_TYPE;
open_mode:
Specifies how the file is opened. Modes include:
r – read text 读字符
w – write text 写
a – append text 添加
rb – read byte mode 读字节
wb – write byte mode
ab – append byte mode
If you try to open a file specifying ‘a’ or ‘ab’ for open_mode but the file does not exist, the file is created in write mode.
如果文件打开的方式为 a,ab,文件不存在,那么文件将会创建
4,删除文件
UTL_FILE.FREMOVE (location IN VARCHAR2,
filename IN VARCHAR2);
5,重命名文件
UTL_FILE.FRENAME (src_location IN VARCHAR2,
src_filename IN VARCHAR2,
dest_location IN VARCHAR2,
dest_filename IN VARCHAR2,
overwrite IN BOOLEAN DEFAULT FALSE);
6,读取文件内容
UTL_FILE.GET_LINE (file IN FILE_TYPE,
buffer OUT VARCHAR2,
len IN PLS_INTEGER DEFAULT NULL);
文件打开模式必须为 r
7,文件是否打开
UTL_FILE.IS_OPEN (file IN FILE_TYPE)
RETURN BOOLEAN;
8,文件写入空行
UTL_FILE.NEW_LINE (file IN FILE_TYPE,
lines IN BINARY_INTEGER := 1)
9,写文件内容
UTL_FILE.PUT_LINE (file IN FILE_TYPE,
buffer IN VARCHAR2,
autoflush IN BOOLEAN DEFAULT FALSE);
程序举例:
Declare l_file utl_file.file_type; Begin l_file := UTL_FILE.FOPEN('REPORT_DIR','test.txt','W',256); utl_file.put_line(l_file,'this is put_line test '); utl_file.new_line(l_file,1); Utl_File.fclose(l_file); End;
相关的文件:
[oracle@dragon chenlong]$ ll total 16 -rw-r--r-- 1 oracle oinstall 30 Apr 20 22:46 example.txt -rw-r--r-- 1 oracle oinstall 644 Apr 20 01:17 regular_express.txt drwxr-xr-x 3 oracle oinstall 4096 Apr 17 18:25 rlwrap-0.42 -rw-r--r-- 1 oracle oinstall 25 Apr 21 01:51 test.txt [oracle@dragon chenlong]$ cat test.txt this is put_line test [oracle@dragon chenlong]$
相关文章推荐
- oracle UTL_FILE文件操作
- oracle自带的操作文件的包UTL_FILE介绍
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
- ORACLE中UTL_FILE ,DBMS-SQL进行数据库与文件互操作的存储过程
- oracle中utl_file包读写文件操作实例学习
- oracle中utl_file包读写文件操作学习
- oracle中utl_file包读写文件操作实例学习
- ORACLE UTL_FILE文件包的应用,文件I/O操作
- 使用Oracle UTL_FILE包操作文件
- 解决Oracle LogMiner获取数据字典文件需要修改UTL_FILE_DIR的问题
- ORACLE UTL_FILE文件包的应用,文件I/O操作
- oracle 利用UTL_FILE包操作文件
- 用oracle utl_file包读取数据写入文件
- oracle 使用 UTL_FILE 导出表数据到txt文件
- Oracle utl_file读取csv文件到数据库
- 用UTL_FILE操作文件