Как «напечатать» переменную без dbms_output и utl_file - Oracle - PullRequest
0 голосов
/ 04 июля 2018

Я на удаленном сервере без привилегий для создания каталога, и у меня есть столбец clob (код xml), который я хочу увидеть. Поскольку я использую очень старую версию PL / SQL_developer (8.0.4) и не могу перейти на новую, с одним «select X from T», я получаю «CLOB» в качестве результата. Итак, при поиске в Интернете я нашел это в AskTOM и пытаюсь использовать решение plsql

declare
my_var varchar2(32000 char); --tried with long, didn't work too.
begin 
for x in ( SELECT X from T) 
loop
    my_var := dbms_lob.substr( x.X, 32000, 1 );
    dbms_output.put_line(my_var);
end loop;
end;

Но когда я пытаюсь запустить, у меня "ORA-20000 ORU-10027 ограничение на переполнение буфера 10000 байт".

Я пытаюсь увеличить лимит с помощью DBMS_OUTPUT.ENABLE (32000); но также получена ошибка "ORA-06502: PL / SQL: ошибка с числовым значением или значением: буфер символьной строки слишком мал", я могу уменьшить ограничение только до 10000.

Я знаю, что у меня не включен выход сервера SET, но когда я попытался добавить эту строку, угадайте, что, ошибка: «ORA-00922: отсутствует или недействительна опция», но если я поставлю 4000 вместо 32000, это будет работать, покажите первые 4000b данных, поэтому мне не нужна эта строка.

Итак, я не могу печатать, так как переменная слишком большая, и я не могу записать текст в файл, так как у меня нет привилегий, есть какой-то другой способ увидеть эту переменную?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...