Гость
Map
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / CLOB в APEX регион типа pl/SQL / 4 сообщений из 4, страница 1 из 1
15.12.2021, 18:45
    #40120362
anuta2341
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB в APEX регион типа pl/SQL
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Apex 5.0.4.00.12
отчет генерируется по запросу обычный select, в таблице одно или два поля типа CLOB
ожидаемо данные CLOB превышают 4000
получаю ошибку
report error:
ORA-20001: Error fetching column value: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Как все таки правильно выводить CLOB:
1) фетчить кусками, есть ли примеры?
2)показывать в новом регионе содержание?
3)показывать в всплывающем модальном окне?
4)есть какой то стандартный общепринятый метод показать CLOB?

Нашла плагин, поробую установить, может быть пригодиться кому нибудь
https://github.com/OraOpenSource/apex-plugin-clob-load - Plugin for displaying and saving CLOB content in a form.
Еще есть решение классическое для 3-го Apex
http://carlback.blogspot.com/2008/04/new-stuff-4-over-head-with-clob.html
...
Рейтинг: 0 / 0
16.12.2021, 01:19
    #40120456
Никанор Кузьмич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB в APEX регион типа pl/SQL
anuta2341
Как все таки правильно выводить CLOB:
Для сферического CLOB в вакууме не существует правильного способа вывода. Правильный способ зависит от содержимого в первую очередь и от бизнес-логики во вторую. Что у вас в клобах? Длинные тексты, картинки, файлы документов или все вперемешку?

anuta2341
2)показывать в новом регионе содержание?
3)показывать в всплывающем модальном окне?
Это вопросы к пользователям. Как им больше нравится, так и делайте.

anuta2341
4)есть какой то стандартный общепринятый метод показать CLOB?
У интерактивного отчета есть специальный тип столбца, не помню как называется, назначаете этот тип вашему клобу, и апекс автоматом генерирует ссылку для скачивания файла (если это файл). Это наиболее общий способ вывода.
...
Рейтинг: 0 / 0
16.12.2021, 01:28
    #40120457
Никанор Кузьмич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB в APEX регион типа pl/SQL
Ой, сослепу не заметил про тип региона.
Ну вроде если просто выводить клоб прямо в регион, то подойдет плюс-минус любой кусок кода, который гуглится по фразе "oracle output clob", только dbms_output.put_line замените везде на htp.p.
...
Рейтинг: 0 / 0
16.12.2021, 10:17
    #40120506
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB в APEX регион типа pl/SQL
Если я провально понял, в pl/sql регионе надо выплюнуть clob.
Не знаю есть ли в пятой версии
Код: plsql
1.
APEX_UTIL.PRN(p_clob  => v_clob);


Если нет, то

Код: plsql
1.
2.
3.
4.
5.
if nvl(dbms_lob.getlength(v_clob),0)>0 then
        for j in 1..ceil(dbms_lob.getlength(v_clob)/8191) loop
            sys.htp.prn(dbms_lob.substr(v_clob,8191,j*8191-8190));
        end loop;
End if;
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / CLOB в APEX регион типа pl/SQL / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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