【问题标题】:Where can I access a file from my oracle db with UTL_FILE?我在哪里可以使用 UTL_FILE 从我的 oracle 数据库访问文件?
【发布时间】:2019-02-05 19:05:26
【问题描述】:

我正在尝试使用 UTL_FILE 从带有 oracle db 的文件中读取。 我找不到可以访问的文件位置。 每当我使用此代码时:

DECLARE 
  F1 UTL_FILE.FILE_TYPE; 
BEGIN 
  F1 :=UTL_FILE.FOPEN('C:\TEMP','test_file.txt','R'); 
END;

我得到:ORA-29280:无效的目录路径

为什么会这样?

我可以让 oracle 显示我可以访问的位置吗?

BR克雷斯滕

【问题讨论】:

    标签: sql oracle utl-file


    【解决方案1】:

    UTL_FILE.FOPEN 使用DBA_DIRECTORIES

    SELECT * from ALL_DIRECTORIES 
    

    为您提供定义和可访问的DBA_DIRECTORIES

    您可以为文件操作创建目录

    CREATE DIRECTORY File_Op_Dir AS '/u01/fileDir';
    GRANT READ ON DIRECTORY File_Op_Dir TO <<user>>;
    --IF you need write permission 
    GRANT WRITE ON DIRECTORY File_Op_Dir TO <<user>>; 
    

    然后

     F1 := UTL_FILE.FOPEN('File_Op_Dir','u12345.tmp','R'); 
    

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2014-11-08
      • 2014-08-19
      • 2012-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多