在一个xmltype字段里,保存base64编码形式的一些文件,用Select hd.Data_AM.extract( '/root/ccc/text() ').getStringVal()取出其中某个节点的值(即某个文件的base64编码),发现文件稍稍大一点,也就是编码的字符串多一点就会出现:
ORA-00600: 内部错误代码,参数: [kolaslWrite1], [], [], [], [], [], [], []
ORA-06512: 在 "SYS.XMLTYPE ", line 0
ORA-06512: 在line 1
的错误,文件小一点,即文件编码短一点的就不会出错,请问是不是xmltype解析xml取出值时的大小有限定的?有没有办法解决呢?
------解决方法--------------------------------------------------------
举个例子:
例一:
SELECT extractValue(OBJECT_VALUE,
'/PurchaseOrder/LineItems/LineItem/Description/text() ').getStringVal()
FROM purchaseorder;
例二:
extract(OBJECT_VALUE, '/PurchaseOrder/Reference/text() ').getStringVal()