ORA-39937: Unsupported operation, default token tables used for binary XML data.

文档解释

ORA-39937: Unsupported operation, default token tables used for binary XML data.

Cause: Informational message to describe a failure during transportable containment checking.

Action: Copy default token tables into a new token table set using DBMS_CSX_ADMIN package.

ORA-39937的全称是:ORA-39937: Unsupported operation,default token tables used for binary XML data。

这个错误表明,用于原始二进制XML数据的令牌表尚不支持一项操作,查询可能会出现这常见的错误,因此Oracle数据库引擎会自动加载令牌,系统将把令牌表作为缺省表运行。为了处理这种错误,应重新定义XML操作,并使用包含自定义令牌表的XML元素,来替代缺省令牌表。

官方解释

本错误提示系统无法识别给定的操作,因此必须使用缺省令牌表。本错误一般发生在下列情况:

– 用户在Oracle数据库中使用XML类型的字段,而此时令牌表尚不支持该类型操作;

– 用户没有完整识别XML元素进行相关操作,而此时也需要使用令牌表来处理;

– 用户查询XML元素时没有完整指定文档类型,而此时也需要使用令牌表处理;

常见案例

ORA-39937错误通常会在以下情况下发生:

1) 当用户试图在存储XML文档的表中查询XML文档元素时,可能会出现这种错误。

2) 当用户尝试使用XML索引时,也可能出现这种错误。

3) 当用户使用XML查询时,也可能出现此错误。

正常处理方法及步骤

1)若用户需要使用自定义令牌表去处理XML文档,则需要重新定义XML操作,以便使用令牌表中的令牌元素,而不是使用XML缺省令牌表。

2)若需要添加自定义令牌表,则可以使用SYS.XMLParser.RegisterGetTokenTables函数。

3)在添加完自定义令牌表之后,需要重新定义XML操作,以下是一个示例:

BEGIN

SYS.XMLParser.RegisterGetTokenTables(, );

EXECUTE IMMEDIATE ‘ALTER SESSION SET EVENTS ”9254 TRACE NAME context forever, LEVEL 1”’;

END;

你可能感兴趣的