来自dbms_cube.import_xml()调用的ORA-00972错误

时间:2013-05-30 10:53:30

标签: oracle olap-cube

我在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成功导入模板。

1 个答案:

答案 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的更多信息。