2011-02-22 11 views
5

Estoy usando CFQuery para recuperar el campo CLOB de Oracle DB. Si el CLOB archivado contiene los Datos menores que ~ 8000, entonces puedo ver recuperado el valor (el o/p), sin embargo, si el valor en el tamaño del campo CLOB es más de 8000 caracteres, entonces no está recuperando el valor. en <cfdump> puedo ver la consulta recuperada como 'Cadena vacía' aunque el valor existe en Oracle DB.retreving long text (CLOB) usando CFQuery

Estoy utilizando el controlador de Oracle en la consola CFadim habilitado 'Habilitar la recuperación de texto largo (CLOB).' y 'Habilitar la recuperación de objetos grandes binarios (BLOB). ' establece los valores' Long Text Buffer (chr) 'y' Blob Buffer (bytes) 'en 6400000

¿Alguna sugerencia para recuperar el texto completo?

+0

¿Estás seguro de que está configurado en 6,400,000 y no en el predeterminado 64,000? Si fuera 64,000 habría calculado que los 8000 caracteres = 64,000 bytes. De cualquier manera, ¿aumentar el valor a un tamaño mayor y reiniciar los servicios hace la diferencia? – eapen

Respuesta

9

¿Ha habilitado los campos CLOB en la configuración del origen de datos? Si no, asegúrese de hacerlo.

  1. Vaya al administrador de ColdFusion
  2. seleccionar fuentes de datos
  3. editar su fuente de datos
  4. clic en la configuración avanzada
  5. de verificación "CLOB permitirá"
  6. Guardar fuente de datos

Usted no debería necesitar reiniciar CF para esto.

+0

Solo con fines de búsqueda, estaba almacenando archivos PDF en la base de datos pero no pude recuperarlos ni mostrarlos. Seguí recibiendo un "pdf-" o fue un error "-pdf". De todos modos, habilitar la configuración por esta respuesta resolvió mi problema. – HPWD

+0

Funcionó para mí también. Antes de realizar este cambio, solo recibí 64000 bytes y la página mostró un jpeg truncado. Ahora recibo la imagen completa. – Leonard