2009-06-11 21 views
5

Cómo ver un dato BLOB, ¿puedo exportarlo a un archivo de texto? Estoy usando Oracle SQL developer 5.1. Cuando he intentadoVer los datos BLOB que contienen texto en formato XML

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

Se devuelve el siguiente error: ORA-06502 PL/SQL : numeric or value error : raw variable length too long

El BLOB contiene texto en formato XML.

Respuesta

1

Los datos de BLOB son generalmente solo ... una cantidad binaria de datos.

Claro, puede exportarlo a un archivo de texto convirtiéndolo en algún tipo de representación de texto ... ¿Pero qué pasa si se trata de una imagen?

jaganath: Necesitas sentarte y descubrir qué es lo que estás tratando, y luego descubrir qué es lo que tienes que hacer.

+0

Se olvidó de mencionar que el BLOB contiene texto en formato XML –

0

A partir del mensaje de error parece que la longitud del blob es demasiado larga para caber en un varchar. Puede hacer la conversión en su código de aplicación y escribir el XML en una cadena o archivo.

1

Usted podría mirar DBMS_LOB.CONVERTTOCLOB

Pero si es XML, ¿por qué almacenarlo en un BLOB en lugar de un XMLType (o CLOB)

6

Para ver los datos XML almacenados como BLOB, haga lo siguiendo;

  1. Abrir la vista de tabla, con la ficha de datos seleccionado
  2. doble clic en el valor del campo de la columna, y un botón de lápiz debe aparecer en el campo. Haga clic en el botón del lápiz. Pencil Button
  3. Se debe abrir la ventana Editar valor, haga clic en la casilla de verificación 'Ver como: Texto'. Desde esta ventana también puede guardar cualquier archivo de datos en particular que necesite. Select the view type

PS: Estoy corriendo la versión Oracle SQL Developer 3.1.05

3

Porque es sobre el tamaño del campo de visualización. Necesita configurar el tamaño Agregue 1500 para el substr, debería funcionar.

select utl_raw.cast_to_varchar2(dbms_lob.substr(colname,1500)) 
from user_settings where <row_id>=... 
Cuestiones relacionadas