【发布时间】:2025-12-05 19:30:01
【问题描述】:
我遇到了这样的场景,比如当我使用 PL/SQL 将 XML 文件写入文件夹时它可以工作,而当使用存储过程写入时它会失败并抛出如下错误
ORA-29289: directory access denied
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 317
ORA-06512: at "TESTPROC", line 5
ORA-06512: at line 1
PL/SQL
declare
l_xmldoc clob;
begin
select XMLElement("dateval", sysdate).getClobVal() into l_xmldoc from dual;
dbms_xslprocessor.clob2file(l_xmldoc, 'XML_EDI_FILES', 'file1.xml', nls_charset_id('UTF8'));
end;
SP
create or replace procedure testproc is
l_xmldoc clob;
begin
select XMLElement("dateval", sysdate).getClobVal() into l_xmldoc from dual;
dbms_xslprocessor.clob2file(l_xmldoc, 'XML_EDI_FILES', 'file1.xml', nls_charset_id('UTF8'));
end;
我确信所有权限都授予了我正在写入的目录,这就是我相信在使用 PL/SQL 时它可以工作的原因。
非常感谢您对此的任何帮助。
提前致谢
【问题讨论】:
标签: xml oracle stored-procedures plsql