Ошибка вывода файла XML - PullRequest
       3

Ошибка вывода файла XML

0 голосов
/ 27 декабря 2018

Я пытаюсь вывести XML-файл, используя приведенный ниже код.Проблема возникает, когда имеется большой объем данных, он не может вывести файл из-за размера переменной.Ваша помощь будет высоко оценена здесь.ПРИМЕЧАНИЕ. Используемая инструкция выбора выводит формат xml.Спасибо.

Код:

DECLARE
    l_file    UTL_FILE.file_type;
    l_xmltype xmltype;

BEGIN
    SELECT XMLRoot(
            XMLElement("report", 
            XMLELEMENT ("rentity_id", '40'), 
            --.... more xml elements goes here.... 
            ),  VERSION '1.0" encoding="UTF-8') 
    INTO l_xmltype

    FROM 
        Table1, Table2, Table3
    WHERE   
        --conditions go here... ; 

    l_file := UTL_FILE.fopen ('XMLDIR', 'XMLFile.XML', 'w');
    UTL_FILE.PUT_LINE(l_file , l_xmltype.getStringVal( ));
    UTL_FILE.fclose (l_file);
end;

1 Ответ

0 голосов
/ 28 декабря 2018

Вам нужно будет что-то сделать в соответствии с приведенным ниже описанием, не будучи уверенным в том, что синтаксис не может проверить прямо сейчас, но вы должны начать по правильному пути.Предполагая, что l_string - это varchar2 (1000), а l_pos - это число.

l_file := UTL_FILE.fopen ('XMLDIR', 'XMLFile.XML', 'w');
l_string := null;
l_pos := 0;
while l_pos < l_xmltype.getStringVal( ).length() loop
  UTL_FILE.PUT_LINE(l_file , substr(l_xmltype.getStringVal( ), l_pos + 1, l_pos + 1000);
  l_pos := l_pos + 1000;
end loop;
UTL_FILE.fclose (l_file);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...