powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сформировать большой xml
8 сообщений из 8, страница 1 из 1
Сформировать большой xml
    #39748226
Mr_Muscle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Задача - сформировать XML файл средствами Oracle 11. Начинаю формировать вот так:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  SELECT XMLELEment("firms",
                      XMLAGG(XMLELEMENT("firm",
                                        XMLELEMENT("FirmID", wo.id),
                                        XMLELEMENT("Name",
                                                   substr(wo.namerus, 1, 120)),
                                        XMLELEMENT("ShortName", wo.code)           
                                                   )))
      into my_var
      FROM organs wo
     where type_id = 5;
  
    --Выводим в вывод
    dbms_output.put_line(my_var.GetClobVal());



НО, после добавления элементов или расширения выборки, видимо значение переменной становится слишком большим и вылетает ошибка ORA-06502 PL/SQL Ошибка числа или значения.

Вопрос: Как сформировать большой xml? Может можно его как-то построчно в файл писать. Подскажите направление плиз.
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748281
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_MuscleКак сформировать большой xmlдело не в xml, а в передаче значения, которое не может быть преобразовано к типу параметра.
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748377
Mr_Muscle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

Да, была такая мысль. Но если просто продублировать первый элемент больше двух раз, то все равно такая ошибка вылетает.
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748401
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Muscleбыла такая мысльА мысли использовать инструмент, который показывает место ошибки, например sqlplus, не было и нет?
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748484
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Muscle
--Выводим в вывод


1. PL/SQL вообще не имеет ввода/вывода т.к. выполняется на сервере БД. Так-что DBMS_OUTPUT не вывод, он просто помещает в буфер который клиент может прочитать (причем не когда поместили а только тогда когда управление вернется клиенту.
2. Исходя из DBMS_OUTPUT ты хочешь получить XML на клиенте, ну так используй SPOOL (надеюсь клиент поддерживает sppol).

SY.
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748797
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Muscle,

А my_var какого типа будет?
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748978
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Muscle,
стек ошибки опубликуешь?
...
Рейтинг: 0 / 0
Сформировать большой xml
    #39748991
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerстек ошибки опубликуешь?

И что это даст? DBMS_OUTPUT.PUT_LINE CLOBы не принимает, посeму CLOB будет преобразован в VARCHAR2 что вылетит с ORA-06502 если CLOB >= 32K.

SY.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сформировать большой xml
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]