【发布时间】:2018-07-26 13:23:02
【问题描述】:
我正在尝试将使用函数 GENERATE_XML_FROM_TABLE 创建的 XMLTYPE 数据保存到文件中。当我尝试保存少量字符时,一切正常。但是对于更大的尺寸,它会导致错误“尝试将 XML 保存到文件时出现数字或值错误”。
PROCEDURE SAVE_XML_TO_FILE (TARGET_TABLE VARCHAR2)
IS
FILE_TO_SAVE UTL_FILE.FILE_TYPE;
XMLCLOB CLOB;
BEGIN
XMLCLOB := GENERATE_XML_FROM_TABLE (TARGET_TABLE).GETCLOBVAL ();
FILE_TO_SAVE := UTL_FILE.FOPEN ('DATA', 'CLASSIF.xml', 'W');
UTL_FILE.PUT (FILE_TO_SAVE, XMLCLOB);
UTL_FILE.FCLOSE (FILE_TO_SAVE);
END;
【问题讨论】:
-
您使用的是哪个版本的Oracle,哪一行抛出异常?在问题中包含整个异常堆栈可能很有用。
-
使用 ORACLE 10g,此行抛出异常:UTL_FILE.PUT (FILE_TO_SAVE, XMLCLOB)。全栈:[错误]执行(1:3):ORA-06502:PL/SQL:数字或值错误ORA-06512:在“SAVE_XML_TO_FILE”,第7行