Oracle 9.2.0.1下PL/SQL对文件的操作
来源:互联网 发布:透明售房网销售数据 编辑:程序博客网 时间:2024/04/29 02:23
首先,需要增加对系统文件的目录的读写权限,比如现在需要增加对“c:/temp”下目录的文件操作权限,当前操作用户名为TEST。首先定义一个文件目录的别名。
CREATE OR REPLACE DIRECTORY
UTL_FILE_DIR AS
'c:/temp';
然后在管理员权限下给TEST用户增加操作目录的操作权限
GRANT READ, WRITE ON DIRECTORY UTL_FILE_DIR TO TEST WITH GRANT OPTION;
这样,当前用户下就有了对'c:/temp'目录的读写权限。
下面给出一个读文件的例子
G_FILE UTL_FILE.FILE_TYPE;
G_LINE VARCHAR2(1600);
G_FILEPATH VARCHAR2(20) := 'UTL_FILE_DIR'; --ファイルパス
G_FILENAME VARCHAR2(20) := 'test.txt'; --ファイル名称
BEGIN
G_FILE := UTL_FILE.FOPEN(G_FILEPATH, G_FILENAME, 'R');
LOOP
BEGIN
--ファイルデータを取得する
UTL_FILE.GET_LINE(G_FILE, G_LINE, 2000);
DBMS_OUTPUT.PUT_LINE(LENGTHB(G_LINE));
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT;
END;
END LOOP;
--ファイルをCLOSED
UTL_FILE.FCLOSE(G_FILE);
END;
这样就可以对test.txt文件的读取操作,读写缓存是1023个字节,如果文件一行超过了1023个字节,则会文件读写错误。在Oracle9i以后在打开文件的时候多了一个参数,也就是文件读取缓存的参数,如下所示
G_FILE := UTL_FILE.FOPEN(G_FILEPATH, G_FILENAME, 'R', 3000);
这样,读写缓存就达到了3000,当文件超过3000行的话就会产生错误。在3000行以内则会顺利读写。
- Oracle 9.2.0.1下PL/SQL对文件的操作
- PL/SQL Developer 下执行oracle的脚本文件
- PL/SQL Developer 下执行oracle的脚本文件
- PL/SQL对列的操作
- Oracle下的PL/SQL语句
- Oracle PL/SQL 操作 分区
- ORACLE的PL/SQL
- oracle下的SQL Plus和PL/SQL的区别
- PL/SQL的操作
- 利用oracle的动态PL/SQL对简单表达式求值
- Pro*C中对Oracle PL/SQL块的调用
- 使用pl/sql工具对oracle的导入导出
- Oracle常用SQL语句(PL/SQL developer工具下的)
- PL/SQL Developer连接Oracle数据库的操作步骤
- oracle pl\sql 操作(五) 其他操作
- 对oracle PL/SQL Developer配置instantclient
- [DB]读书笔记:Oracle下的PL/SQL--1
- Oracle不同版本下PL/SQL的不同
- 第一天上来
- Setting an Application's Entry Point
- SPI
- 一些被遗忘的算法
- 科研大礼包 与大家分享
- Oracle 9.2.0.1下PL/SQL对文件的操作
- 如何做好售前工程师
- ASP.NET中常用的26个优化性能方法(1-10)
- REPLACE(CAST
- 内存分配的一些心得
- javascript中得到当前窗口的高和宽
- c#打印预览
- 日志应用规范(收集中)
- C中宏的应用