在Oracle中,使用PL/SQL编写存储过程是一种常用手法。也经常会遇到文件读写的问题,Oracle的PL/SQL可以对系统文件进行读写增删等操作,这里来给出我的做法。
首先,需要增加对系统文件的目录的读写权限,比如现在需要增加对“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_FILEUTL_FILE.FILE_TYPE;
G_LINEVARCHAR2(1600);
G_FILEPATHVARCHAR2(20) := 'UTL_FILE_DIR';--ファイルパス
G_FILENAMEVARCHAR2(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行以内则会顺利读写。
分享到:
相关推荐
/oracle92/app/oracle/product/9.2.0.1/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped 2)SQL> select * from v$version; BANNER -------------------------------...
该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。 Oracle SQL Developer是针对Oracle数据库的交互式开发环境(IDE)。 Oracle SQL Developer简化了Oracle...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
pl/sql 7.1操作手册,中文,总共239页 目录 目录..............................................................................................................................................................
该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。 提供一个新的查询生成器,DBA navigator 和附表建设者,广泛迁移工具和额外的扩展更新; Data Modeler中...
<br> 前言 第1章 PL/SQL综述 1.1 SQL简介 1.2 PL/SQL简介 1.3 Oracle 10g PL/SQL新特征 第2章 PL/SQL开发工具 2.1 SQL*Plus 2.2 PL/SQL Developer 2.3 Procedure ...
我下载的instant client版本为10.2.0.2.0, 测试了联接到oracle 9.2.0.4和oracle 10.2.0.1. Instant Client中不包含tnsping, exp/imp, rman, netca等工具. 如果需要这些工具则需要安装oracle client
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 你能方便地创建你的客户/服务器应用程序的服务器部分 ,绝对实用 目录.3 1. 介绍.....9 2. 安装...13 2.1 ...
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
SQL,oracle代码提示,完美和谐,使用pl/sql developer的用户,羡慕dbforge的代码提示吗?比Reg prompt的提示还细,功能更强。
Oracle SQL Developer是Oracle公司出品的一个免费的集成开发环境。是一个免费非开源的用以开发数据库应用...该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...
6. 专用 SQL...............................35 6.1 使用 SQL 窗口.........35 6.2 结果表格处理..........36 6.3 实例模式查询..........40 6.4 连接查询41 6.5 置换变量42 4 PL/SQL Developer 7.0 用户指南 6.6 ...
Oracle SQL Developer是Oracle公司出品的一个免费的集成开发环境。...该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统 此为window64 位系统版本