Oracle 带有utl_文件的ORA-29280.fremove()

Oracle 带有utl_文件的ORA-29280.fremove(),oracle,Oracle,我创建了对文件夹的完全访问权限,但它显示了一个错误。我不知道错在哪里。我怎样才能解决这个问题 create or replace directory Utl_fileoption as 'd:\jk1'; DECLARE filepath VARCHAR2(32767); F1 UTL_FILE.FILE_TYPE; Location1 Varchar(500); BEGIN Location1:='Utl_fileoption'; filepath:='jk.xls'

我创建了对文件夹的完全访问权限,但它显示了一个错误。我不知道错在哪里。我怎样才能解决这个问题

create or replace directory Utl_fileoption as 'd:\jk1';

DECLARE 
  filepath VARCHAR2(32767);
  F1 UTL_FILE.FILE_TYPE; 
  Location1 Varchar(500);
BEGIN
  Location1:='Utl_fileoption';
  filepath:='jk.xls';
  UTL_FILE.FREMOVE(Location1,filepath);
END;
错误报告:

ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 251
ORA-06512: at "SYS.UTL_FILE", line 1230
ORA-06512: at line 9
29280. 00000 - "invalid directory path"

*Cause: A corresponding directory object does not exist.
*Action: Correct the directory object parameter, or create a corresponding
directory object with the CREATE DIRECTORY command. 

目录名与其他对象一样,默认情况下创建为大写,除非名称被引用。当您将目录作为字符串引用时,它需要匹配数据字典中的大小写(例如,
所有目录
)。因此,您需要更改为:

Location1:='UTL_FILEOPTION';

。。。即使您使用
创建目录Utl\U文件选项创建了它…

我有一个变量可能与您的“Location1:='Utl\U文件选项';”重复,但我总是会得到相同的错误-06512@delive-
UTL\u FILEOPTION
是原始提问者使用的特定目录名(请参见问题中的
create directory
语句)。您需要使用自己目录的实际名称,您可以在
all_directories
中看到该名称。(假设您已经创建了一个目录对象,并且您有读/写权限,并且它指向数据库服务器上的Oracle读/写操作系统目录。ORA-06512没有帮助,请检查您得到的其他错误,如问题中的ORA-29280)。