我编写了一个将XML文件写入DB目录的PL / SQL块
当我执行该块时,我遇到了一个问题:
identifier 'DBMS_XMLDOM.DOMDOCUMENT' must be declared
使用dbms_xmldom
的前提条件是什么?
数据库版本为11.2.0.3.0
答案 0 :(得分:0)
DBMS_XMLDOM要求:
select * from dba_registry where comp_id = 'XDB';
。很难说为什么不安装它,DBA往往对安装可选组件有不同的看法。但在这种情况下,它不需要任何费用,你需要它,我相信无论如何都需要在未来的版本中使用XDB。您需要让DBA参与安装该选项。select * from dba_tab_privs where table_name = 'DBMS_XMLDOM';
应显示授予PUBLIC的EXECUTE。某些Oracle软件包存在安全问题,尤其是XML软件包。我不确定这些安全问题是否已经适用,但一旦包裹在黑名单上,它往往会留在那里。有SYSDBA的人需要运行grant execute on sys.dbms_xmldom to public;
或您的特定用户或角色。默认情况下,此程序包可供所有用户使用。有人必须故意删除使用它的能力。