Вопрос:
Я пытаюсь прочитать сообщение blob и отображать его как переменную в одной из моих процедур, но я получаю ошибку ниже:
Ошибка – ORA-22835: буфер слишком мал для CLOB до CHAR или BLOB-RAW преобразование (фактическое: 9923, максимум: 2000)
У меня есть googled и найдено предложение обрезать сообщение blob, как показано ниже, но скорее отобразит полное сообщение blob в виде строки.
UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(variable_name,2000,1))
Как я могу отобразить полное сообщение? Есть ли настройка на уровне базы данных или процедуры, которую я могу изменить?
Лучший ответ:
Мне это удалось, используя опцию, описанную в
http://www.dba-oracle.com/t_convert_blob_varchar_datatype.htm
Ответ №1
Попробуйте использовать DBMS_LOB.GETLENGTH() вместо обрезки строки