oracle ORA-29280:目录路径无效

j8yoct9x  于 2023-05-06  发布在  Oracle
关注(0)|答案(1)|浏览(481)

首先,我连接到SYS并执行以下操作
1.创建一个目录,您的文件将被上传

CREATE OR REPLACE DIRECTORY FILE_DIRR AS 'C:\EXCEL_FILES2';

1.授予数据库用户读、写权限

GRANT READ, WRITE ON DIRECTORY FILE_DIRR TO HRM;

在窗体中编写的代码是:

declare
  file         utl_file.file_type;
  str         varchar2(500);
  v_item_id   number;
  v_item_name varchar2(500);
  p_dir       varchar2(500) := 'FILE_DIRR';
  p_file_name varchar2(500) := 'item_Sheet.xlsx';
  p_file_name varchar2(500) := 'item_Sheet.csv';
begin 
  file := utl_file.fopen(p_dir, p_file_name, 'r');

  for i in 1 .. 1 loop
    utl_file.get_line(fp, str);
  end loop;

  loop
    begin
      utl_file.get_line(file, str);
      v_item_id := substr(str, 1, instr(str, ',') - 1);
      str := substr(str, instr(str, ',') + 1);
      v_item_name := str;
  
      begin
        insert into items (item_id,item_name) values (v_item_id,v_item_name);
        commit;
      end;
    exception when no_data_found then
      exit;  
    end;
  end loop;

  utl_file.fclose(fp);
end;

我期望此代码能够成功运行

webghufk

webghufk1#

在Oracle中创建目录对象的sintax为:

CREATE [ OR REPLACE ] DirectoryObjectName AS 'Path';

在您的案例中:

CREATE OR REPLACE DIRECTORY FILE_DIRR AS 'C:\EXCEL_FILES2';

FILE_DIRR是目录对象名称,路径是“C:\EXCEL_FILES2”。错误消息提示路径不存在。为此,您需要访问文件系统并定义现有文件夹的正确路径。希望您没有想到该命令会在文件系统中创建一个新目录。

相关问题