create or replace directory UTL_FILE_DIR as 'd:/test'; 
d:/test 必需是已经存在的目录。 
用sys用户登录给要访问的用户指定访问目录的权限。 
GRANT READ ON DIRECTORY UTL_FILE_DIR TO wangyh;

GRANT WRITE ON DIRECTORY UTL_FILE_DIR TO wangyh;

创建或替换为“/ tmp目录”的目录EXP_DIR;
目录创建ÆÆ以后,就可以把读写权限,“授予特定用户,具体语法如下:GRANT READ,WRITE]目录目录的用户名 例如:
授予读,写上目录EXP_DIR到EYGLE;
此时用户EYGLE就拥有了对该目录的读写权限。
让我们看一个简单的测试:

SQL>创建或替换目录UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目录已创建。SQL>声明2 fhandle utl_file.file_type;3开始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE测试写一个');6 utl_file.put_line(fhandle,“EYGLE测试写两个');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL过程已成功完成。SQL>!
甲骨文跳线9.2.0] $ /选择/ ORACLE /的UTL_FILE / example.txt中
EYGLE测试写一个
EYGLE测试写了两
[ORACLE跳线9.2.0] 

类似的我们可以通过UTL_FILE来读取文件:

SQL>声明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4开始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6  7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 /
EYGLE测试写一个
EYGLE测试写了两PL / SQL过程已成功完成。

可以查询dba_directories查看所有目录。

SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH
-------------------------------------------------- ----------------------------------------
SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE
SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康纳/ bdump
SYS EXP_DIR的/ opt / ORACLE / UTL_FILE

可以使用下拉目录中删除这些路径。

SQL>降目录EXP_DIR;放置目录SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH
-------------------------------------------------- ----------------------------------------
SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE
SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康纳/ bdump
Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。其语法为:CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

本案例具体创建如下:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用户,具体语法如下:GRANT READ[,WRITE] ON DIRECTORY directory TO username;

例如:
grant read, write on directory exp_dir to eygle;
此时用户eygle就拥有了对该目录的读写权限。
让我们看一个简单的测试:

SQL> create or replace directory UTL_FILE_DIR as '/opt/oracle/utl_file';Directory created.SQL> declare2    fhandle utl_file.file_type;3  begin4    fhandle := utl_file.fopen('UTL_FILE_DIR', 'example.txt', 'w');5    utl_file.put_line(fhandle , 'eygle test write one');6    utl_file.put_line(fhandle , 'eygle test write two');7    utl_file.fclose(fhandle);8  end;9  /PL/SQL procedure successfully completed.SQL> !
[oracle@jumper 9.2.0]$ more /opt/oracle/utl_file/example.txt
eygle test write one
eygle test write two
[oracle@jumper 9.2.0]$ 

类似的我们可以通过utl_file来读取文件:

SQL> declare2    fhandle   utl_file.file_type;3    fp_buffer varchar2(4000);4  begin5    fhandle := utl_file.fopen ('UTL_FILE_DIR','example.txt', 'R');6  7    utl_file.get_line (fhandle , fp_buffer );8    dbms_output.put_line(fp_buffer );9    utl_file.get_line (fhandle , fp_buffer );10    dbms_output.put_line(fp_buffer );11    utl_file.fclose(fhandle);12  end;13  /
eygle test write one
eygle test write twoPL/SQL procedure successfully completed.

可以查询dba_directories查看所有directory.

SQL> select * from dba_directories;OWNER                          DIRECTORY_NAME                 DIRECTORY_PATH
------------------------------ ------------------------------ ------------------------------
SYS                            UTL_FILE_DIR                   /opt/oracle/utl_file
SYS                            BDUMP_DIR                      /opt/oracle/admin/conner/bdump
SYS                            EXP_DIR                        /opt/oracle/utl_file

可以使用drop directory删除这些路径.

SQL> drop directory exp_dir;Directory droppedSQL> select * from dba_directories;OWNER                          DIRECTORY_NAME                 DIRECTORY_PATH
------------------------------ ------------------------------ ------------------------------
SYS                            UTL_FILE_DIR                   /opt/oracle/utl_file
SYS                            BDUMP_DIR                      /opt/oracle/admin/conner/bdump
创建或替换为“/ tmp目录”的目录EXP_DIR;

目录创建ÆÆ以后,就可以把读写权限,“授予特定用户,具体语法如下:GRANT READ,WRITE]目录目录的用户名 例如:

授予读,写上目录EXP_DIR到EYGLE;

此时用户EYGLE就拥有了对该目录的读写权限。

让我们看一个简单的测试:

SQL>创建或替换目录UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目录已创建。SQL>声明2 fhandle utl_file.file_type;3开始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE测试写一个');6 utl_file.put_line(fhandle,“EYGLE测试写两个');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL过程已成功完成。SQL>!
甲骨文跳线9.2.0] $ /选择/ ORACLE /的UTL_FILE / example.txt中
EYGLE测试写一个
EYGLE测试写了两
[ORACLE跳线9.2.0] 

类似的我们可以通过UTL_FILE来读取文件:

SQL>声明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4开始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6  7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 /
EYGLE测试写一个
EYGLE测试写了两PL / SQL过程已成功完成。

可以查询dba_directories查看所有目录。

SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH
-------------------------------------------------- ----------------------------------------
SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE
SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康纳/ bdump
SYS EXP_DIR的/ opt / ORACLE / UTL_FILE

可以使用下拉目录中删除这些路径。

SQL>降目录EXP_DIR;放置目录SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH
-------------------------------------------------- ----------------------------------------
SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE
SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康纳/ bdump

oracle create or replace directory 的用法相关推荐

  1. oracle utl_file 游标,[转贴] UTL_FILE用法笔记

    最近做的一个项目,其中有一块的功能是将数据导出为excel文件.我使用了oracle的utl_file程序包.主要实现思路: 1.声明一个纪录,用来存储导出的数据: 2.使用游标取数据到纪录中: 3. ...

  2. oracle create replace,Oracle11gr2新增CREATE OR REPLACE FORCE TYPE功能

    在11.2中,Oracle增强了TYPE类型的依赖处理. 在以前的版本中,如果表或另一个对象依赖当前的对象,那么这个对象是无法CREATE OR REPLACE的,在11.2中,这个限制被放宽,当依赖 ...

  3. oracle没有create or replace table

    Sql代码   SQL> create or replace table testTb; create or replace table testTb ORA-00922: 选项缺失或无效 只能 ...

  4. Oracle数据库create or replace

    create or replace 表示在创建视图时,如果已存在同名的视图,则重新创建, 如果只用create 创建,则需将原有的视图删除后才能创建. create 如果创建已经存在,会报一个错误 - ...

  5. Oracle的AES加密与解密用法

    Oracle的AES加密与解密用法 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/it ...

  6. oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解

    本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...

  7. (转)oracle中的CURRVAL和NEXTVAL用法

    转自:http://blog.csdn.net/qianyiyiding/article/details/51592689 1.什么是sequence?其作用是什么? 在Oracle数据库中,什么是序 ...

  8. oracle 两个竖杠的作用,Oracle 关于concat与双竖线用法的补充

    --只能连接2个字符串 select concat('nod',' chen is ') from dual; --连接2个列名 select concat(name,ip2) from vm_inf ...

  9. Oracle中INSTR和SUBSTR的用法

    2019独角兽企业重金招聘Python工程师标准>>> Oracle中INSTR和SUBSTR的用法 Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, ...

最新文章

  1. 每日一皮:程序员新手尝试新框架的时候
  2. vertical-align
  3. Mybatis报错ClassNotfind
  4. [导入]C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式).zip(9.84 MB)...
  5. elementui中同时上传多个文件_element ui 上传文件,批量一次上传多个文件,为什么是发送了多次请求,我想一次请求,然后发送多个文件怎么实现呢?...
  6. jenkins vue 打包特别慢_从零开始 使用VUE开发桌面客户端
  7. 未获利并倒赔2600元!暴风集团称公司董事实施短线交易公司股票的行为
  8. oracle 使用imp,Oracle中的Imp和Expt用法
  9. java中的subString与SQL中的subString(作为常识应该记住的)
  10. hive explain 源码分析
  11. php的laravel框架下载,Laravel(PHP开发框架)官方下载 5.4稳定版_Win10镜像官网
  12. Html中的favicon ico
  13. 1matlab像素值及统计
  14. status_breakpoint谷歌浏览器如何解决?
  15. Micropython开发之TPYBoard制作声光控开关教程实例
  16. python与sas_python与R(对比SAS),我该选择哪种工具?
  17. 从 VSCode 看大型 IDE 技术架构
  18. lc0406lc0409lc0410
  19. 我到底是怎么被“炸房挂“轰炸掉线的?
  20. RNA-seq助力探究地下水污染致大鼠DNA损伤的分子机制

热门文章

  1. WPA2破解教程(详细步骤)
  2. 深圳友坚推出最新三星ARM Cortex-A8内核的S5PV210开发板,1GHZ主频处理器强悍登场
  3. 佩京科技 | 体感互动:弹跳消消乐
  4. 临床预测模型评鉴(PMID: 32350208)
  5. IDEA上使用SSH框架时persistence界面没有sessionFactory解决方法
  6. 机器学习常见评价指标
  7. 【Linux】mjpg-streamer 源码分析
  8. 视频教程-基于Java开发精讲支付宝SDK-Java
  9. LeetCode 155.最小栈
  10. 201421430029巩耀阳