`
limafa
  • 浏览: 16756 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Oracle 9.2.0.1下PL/SQL对文件的操作

阅读更多
在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行以内则会顺利读写。

分享到:
评论

相关推荐

    oracle从9.2.0.1升级到9.2.0.8步骤

    这个过程不仅涉及技术操作,还要求对Oracle数据库有深入的理解,包括其服务、参数配置、升级机制以及补丁管理。每个步骤都需要仔细执行,确保数据库的完整性和稳定性。同时,定期更新和打补丁是保持Oracle数据库安全...

    oracle9201到9204的升级步骤

    ### Oracle 9.2.0.1到9.2.0.4的升级步骤详解 在企业级数据库管理中,Oracle数据库的版本升级是确保系统稳定性和安全性的重要环节。从Oracle 9.2.0.1(即9201)升级到9.2.0.4(即9204),涉及到多个关键步骤和技术...

    sqldeveloper-21.4.3.x64+jdk1.8

    该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。 Oracle SQL Developer是针对Oracle数据库的交互式开发环境(IDE)。 Oracle SQL Developer简化了Oracle...

    PL/SQL用户指南与参考(中文Doc版)

    《PL/SQL用户指南与参考》是一份详细阐述Oracle数据库中的PL/SQL编程语言的中文文档,它对应的是英文版的《PL/SQL User's Guide and Reference Release 2 (9.2)》。PL/SQL是Oracle数据库系统的核心组件之一,用于...

    sqldeveloper pat6

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    PL/SQL Developer 11用户指南

    - **PL/SQL Developer 11** 提供了对 Oracle **DBMS Scheduler** 的支持。 - 可以创建、编辑和管理调度任务。 - 适用于定期执行的后台任务。 通过以上介绍可以看出,**PL/SQL Developer 11** 为 Oracle 数据库...

    sqldeveloper part3

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    sqldeveloper part4

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    sqldeveloper part5

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    sqldeveloper part1

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    sqldeveloper part2

    Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以...

    PLSQL Developer 13 用户指南 (PLSQL Developer 13.0 User's Guide)

    PL/SQL Developer 是一款专为 Oracle 数据库开发人员设计的强大工具。它提供了一个集成环境,方便用户编写、调试和优化 PL/SQL 代码。本指南主要介绍了 PL/SQL Developer 13 的使用方法及相关功能,旨在帮助用户更...

    绝对好的 oracle pl/sql 编程

    ### 绝对好的 Oracle PL/SQL 编程 #### 一、PL/SQL 程序设计简介 ##### 1.1 SQL 与 PL/SQL **1.1.1 什么是 PL/SQL?** PL/SQL(Procedure Language for SQL)是一种专门为 Oracle 数据库设计的过程化语言。它结合...

    pl/sql developer 7 中文用户指南

    PL/SQL Developer 是一款专为 Oracle 数据库设计的强大开发工具,它能够帮助开发者高效地编写、调试及优化 PL/SQL 代码。本指南旨在为使用 PL/SQL Developer 7 的用户提供详尽的操作指南,帮助用户充分利用其功能,...

    SQL Assistant 9.2.349企业和谐版

    SQL Assistant 9.2.349企业和谐版就是这样一款专为提升SQL编程效率而设计的专业软件,尤其对Oracle数据库开发者而言,它提供了卓越的代码提示和增强功能。 首先,SQL Assistant 9.2.349的核心特性之一就是其全面的...

    sqldeveloper64-3.2.20.09.87-no-jre

    该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。 提供一个新的查询生成器,DBA navigator 和附表建设者,广泛迁移工具和额外的扩展更新; Data Modeler中...

    PL/SQL Developer 7.0

    **PL/SQL Developer** 是一款专为 Oracle 数据库设计的强大集成开发环境(IDE),它旨在简化和提升 PL/SQL 应用程序的开发效率。版本 7.0 作为该系列中的一个重要迭代,引入了许多新功能和改进,旨在提高开发者的...

    oracle PL-SQL 基础

    根据提供的文件信息,我们可以深入探讨Oracle PL/SQL的基础知识点,包括其历史背景、优势、基本结构、以及变量的定义和使用等内容。 ### PL/SQL的历史 PL/SQL(Procedural Language for SQL)是一种专门为Oracle...

    PL/SQL 手册

    PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内置编程语言,它结合了SQL的数据操作能力与传统编程语言的过程控制功能,用于创建复杂的数据库应用程序。《PL/SQL Developer 7.0 用户指南》是一份详尽...

    精通Oracle.10g.PLSQL编程

    <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 ...

Global site tag (gtag.js) - Google Analytics