我在AWM中手动创建一个立方体,并将其导出为模板。但是当我尝试导入它时
dbms_cube.import_xml('/app/oracle/product/11.2.0/XML_DIR','test.xml')
,它会引发ORA-00972错误。
ORA-00972:
ORA-06512: "SYS.DBMS_LOB", line 744
ORA-06512: "SYS.DBMS_CUBE", line 334
ORA-06512: "SYS.DBMS_CUBE", line 478
ORA-06512: "SYS.DBMS_CUBE", line 491
ORA-06512: line 1
00972. 00000 - "identifier is too long"
我可以使用AWM成功导入模板。
答案 0 :(得分:1)
IMPORT_XML
procedure需要数据库目录对象的名称,而不是操作系统目录路径。
您传递的值将被视为目录对象的名称,如DBA_DIRECTORIES
等所示。因此,对象命名规则的长度限制为30个字符。您传入的是34个字符的路径,该路径太长而无法成为对象名称(标识符),而且它是生成ORA-00972的路径;但即使它更短,它也不是有效的数据库目录对象名。
如果您针对路径XML_DIR
定义了名为/app/oracle/product/11.2.0/XML_DIR
的{{3}},则可将其称为:
dbms_cube.import_xml('XML_DIR','test.xml')
您可以阅读有关创建直观对象directory object的更多信息。