Página 1 de 1

Problema con blob en ISeries

NotaPublicado: Vie Dic 16, 2011 1:49 pm
por anroh
Hola a todos:

Estamos probando el modelo de ejemplo que viene con el producto (blobsample.mdl) para ver las bondades de los datos tipo blob. El entorno de trabajo es CA Plex 6.1 con cliente en C++ y acceso a datos en un ISeries en V5R3.

Han aparecido dos problemas:

- Al principio daba errores al compilar bajo RPG400, no así en RPG IV, pero esto se subsanó cambiando la longitud del campo tipo blob a un tamaño superior. Desconozco el motivo de porqué funcionó y más teniendo en cuenta que según el manual de CA la longitud sólo tiene utilidad para el tamaño del campo en los paneles.

- Una vez compilado el modelo, empezamos a probarlo y aunque parecía grabarse los datos blob en la base pero a la hora de recuperarlo, lo visualizado no tenía nada que ver con los ficheros originales.

Si alguno a trabajado con este tipo de datos en el ISeries le agradecería me facilitara algunas indicaciones de como manejó estos tipos de campo.

Un saludo.

usado hace algún tiempo ya.

NotaPublicado: Dom Dic 18, 2011 8:14 pm
por Jorge Ubeda
Hasta donde recuerdo, hay un límite en el tamaño de campos que uses, y es bajo (quizá 32 kb). Lo he usado para documentos RTF con formato enriquecido, y, salvo el problema del tamaño, trabajando bien en V5R4 hasta V6R1.
En otro caso, con objetos binarios más grandes, opté por guardar en un campo la dirección del jpg (fotografías) en el IFS, y recuperarlo en el campo del panel. En este caso, la limitación desaparece.
Supongo que estarás usando el tipo de campo requerido, según las especificaciones de Plex.

NotaPublicado: Lun Dic 19, 2011 10:12 am
por anroh
Buenos días Jorge:

Gracias por tu respuesta.

Me tiene desconcertado este asunto puesto que leyendo el apartado "Working with Blobs " del capítulo 11 "Accessing Databases" del manual de Plex, no veo ninguna limitación tan radical en el tamaño del binario, de hecho lo que indica es lo siguiente:

"System i limitations
CA Plex support for blobs on the System i has significant limitations. Most notably the maximum allowed size is determined by the 9999 byte limit on the total size of a variable in an RPG/400 function. RPG IV functions have increased this maximum allowed size to 32,767 bytes. To maximize the available space, you could place the blob field in a separate variable with no other fields. Use the GetBlobSize API to check the size of the blob before writing it to the database. Blob fields for the System i should have FLD AS400 format SYS=Hex.

Additionally, there is no support for piecewise fetches from the System i."

Aparte de tener que haber aumentado la longitud del campo, el resto de los parámetros eran los recomendados por CA. He realizado pruebas con archivos pdf y doc de tamaños inferiores a 32 kb y aunque no da errores a la hora de guardarlos, no es capaz de mostrarlos correctamente además el archivo origen lo "amputa" dejándolo a 1 Kb.

¿Alguna idea de lo que puede eatar sucediendo?

Un saludo.

NotaPublicado: Mié Dic 21, 2011 6:45 pm
por fenixo69
despues de varias luchas con el blob hace tiempo lo mejor que pude salvar fue de una imagen bmp de 16bit con altura de 70 y ancho de 120... con tamaño de 7 a 8 kb.... igual que tu me decepciona ver que sea demasiado limitado esto del blob, siendo una forma simple segura de almacenar todo tipo de archivo, sea pdf, doc, bmp etc.