Просмотр BLOB-данных, содержащих текст в формате XML - PullRequest
5 голосов
/ 11 июня 2009

Как просмотреть данные BLOB, могу ли я экспортировать их в текстовый файл? Я использую Oracle SQL Developer 5.1. Когда я попробовал

select utl_raw.cast_to_varchar2(dbms_lob.substr(COLNAME)) 
  from user_settings where <fieldname>=...

Возвращает следующую ошибку: ORA-06502 PL/SQL : numeric or value error : raw variable length too long

BLOB содержит текст в формате XML.

Ответы [ 5 ]

6 голосов
/ 14 ноября 2011

Чтобы просмотреть данные XML, хранящиеся в виде BLOB, выполните следующие действия;

  1. Открыть табличное представление с выбранной вкладкой «Данные»
  2. Дважды щелкните значение поля столбца, и в поле должна появиться кнопка карандаша. Нажмите кнопку карандаша. Pencil Button
  3. Должно открыться окно «Изменить значение», установите флажок «Показать как: текст». Из этого окна вы также можете сохранить любые конкретные данные файла, которые вам нужны. Select the view type

PS: я использую Oracle SQL Developer версии 3.1.05

3 голосов
/ 06 июля 2012

Причинить это по размеру поля дисплея. Нужно установить размер Вы добавляете 1500 для substr, оно должно работать.

select utl_raw.cast_to_varchar2(dbms_lob.substr(colname,1500))
from user_settings where <row_id>=...
1 голос
/ 11 июня 2009

Вы можете посмотреть на DBMS_LOB.CONVERTTOCLOB

Но если это XML, зачем хранить его в BLOB, а не в XMLType (или CLOB)

1 голос
/ 11 июня 2009

BLOB-данные обычно являются просто ... двоичным двоичным объектом данных.

Конечно, вы можете экспортировать его в текстовый файл, преобразовав его в какое-то текстовое представление ... Но что, если это изображение?

Джаганатха: Вам нужно сесть и выяснить, с чем вы имеете дело, а затем выяснить, что вам нужно делать.

0 голосов
/ 11 июня 2009

Из сообщения об ошибке кажется, что длина BLOB-объекта слишком велика для размещения в varchar. Вы можете выполнить преобразование в коде своего приложения и записать XML в строку или файл.

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