Archive for the ‘cast_to_varchar2’ Category

Encontrar en Moodle (Oracle) un texto dentro de columnas codificadas en Base64

miércoles, mayo 8th, 2013

Una de las cosas que hace moodle que en las columnas donde guarda texto, para evitar ciertas problematicas que solo ellos conocen, codifican el dato en Base64. Esto implica que en algunos casos el texto de la columna se va a ver de la siguiente forma (mirar columna CONFIGDATA):

moodle_blockinstances

Una de las maneras de decodificar directamente en Oracle estas columnas es así (un ejemplo con la tabla m_block de moodle):

select id, utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw( configdata))) 
from m_block_instances 
where blockname = 'html' 
and utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw( configdata))) like '%algun texto%'