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

Задача - сформировать 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
15.12.2018, 00:27
    #39748281
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать большой xml
Mr_MuscleКак сформировать большой xmlдело не в xml, а в передаче значения, которое не может быть преобразовано к типу параметра.
...
Рейтинг: 0 / 0
15.12.2018, 13:28
    #39748377
Mr_Muscle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать большой xml
-2-,

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


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

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

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

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

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


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