Página 1 de 2

Error al crear tipo blob en sybase

NotaPublicado: Mié Ene 04, 2006 11:41 pm
por Marcial
He creado una entidad con un campo tipo blob, la base de datos esta en sybase, se compila todo estupendamente, pero a la hora de insertar registros me devuelve error y no crea nada, sin ese campo todo funciona perfectamente. ¿Hay algun problema entre el tipo blob de plex y la base de datos sybase?

qué error?

NotaPublicado: Jue Ene 05, 2006 12:20 pm
por Jorge Ubeda
Qué error es el que recibes? Qué método de conexión usas?

NotaPublicado: Jue Ene 05, 2006 9:20 pm
por Marcial
La conexión es ODBC, y el error que da es el siguiente: "Un error desconocido ha ocurrido en la operación requerida - reintente más tarde.
El código de error es ERR." La verdad es que no da muchas pistas.

Gracias de antemano.

Depurador

NotaPublicado: Vie Ene 06, 2006 12:40 pm
por Invitado
Marcial, si te registraras te podría enviar mensajes privados, para acelerar el intercambio. En base a tu respuesta, la siguiente pregunta es:
1. si habilitaste el depurador de ODBC, para tener el detalle de los comandos ejecutados, y más información de los datos.
2. De qué versión de Sybase, de ODBC y de Plex se trata.
3. La declaración de tipos de datos puede tener distintos niveles de compatibilización entre el administrador de ODBC y la base de datos. En la ayuda de Plex (que no tengo a mano en este momento) existe información específica sobre grados de compatibilidad para distintos casos (y Sybase es uno de ellos), y declaraciones de tipos de datos aceptables para cada caso, que pueden ser agregadas a nivel de la variante o a nivel del .ini de tu aplicación. Una lectura de esa información te puede ayudar. Está en la información dedicada a la plataforma ODBC, así como en la información dedicada al .ini de la aplicación.
Hasta luego
Jorge

NotaPublicado: Vie Ene 06, 2006 1:28 pm
por pacopicon
Hola Marcial:

Yo he utilizado Blobs en una base de datos Sybase y no da problemas, excepto en una cosa: No puedes dejar ese campo como nulo a la hora de insertar o actualizar. Es decir, siempre tiene que tener contenido.

El error que da cuando dejas el campo vacío es el mismo que tú dices (que por otra parte es un error genérico).

Estuve mirando en los foros para esta solución y nadie la conocía, aunque sí vi que alguien utilizaba una forma alternativa para poder tener campos tipo blobs en una tabla y utilizarlos de forma opcional.
La solución que se proponía era tener una Tabla A donde están todos tus campos, excepto el blob y luego tener una Tabla B, con la misma clave que A más el campo blob (Plex sólo permite un blob por tabla) y cada vez que en A se necesitara crear un registro con campo blob, este campo se insertaba en B. En el caso que no se introdujera valor en el campo Blob (en el interfase), pues simplemente no se inserta ningún registro en la Tabla B.


Espero haberte ayudado.

Saludos

NotaPublicado: Dom Ene 08, 2006 1:19 am
por Marcial
Ya esta solucionado, muchas gracias.

El problema era que le pasaba el campo blob vacio y por esos me saltaba ese error. Iluso de mi, pensaba que poniendo el campo en pantalla de tipo picture, capturando la imagen haciendo doble click era suficiente.

Muchas Gracias.

NotaPublicado: Jue Mar 03, 2011 6:19 pm
por fenixo69
y esto se puede hacer en una tabla as/400 tambn ???? ya que me tienen de tarea hacer esto pero en una base de datos as/400..... :s

NotaPublicado: Jue Mar 03, 2011 8:08 pm
por pacopicon
Pues en principio sí.. eso sí..accediendo a través de ODBC.

NotaPublicado: Jue Mar 03, 2011 8:12 pm
por fenixo69
Gracias por responder..!!!
Entonces me voy a poner a estudiar el modelo de blob store que es mas o menos a lo que busco hacer.... cualquier duda las posteare...

Gracias

informacion blob

NotaPublicado: Vie Mar 04, 2011 5:15 pm
por fenixo69
buenas,
quisiera saber donde puedo encontrar informacion de blobs? es que quiero hacer una aplicacion donde pueda almacenar imagen en una base de datos as/400.... cualquier ayuda se los agradeceria :)

Re: informacion blob

NotaPublicado: Vie Mar 04, 2011 8:42 pm
por Jorge Ubeda
fenixo69 escribió:buenas,
quisiera saber donde puedo encontrar informacion de blobs? es que quiero hacer una aplicacion donde pueda almacenar imagen en una base de datos as/400.... cualquier ayuda se los agradeceria :)

Explícate un poco más...Desarrollas tu aplicación con Plex?
Si es así, el capítulo 11 de la guía de usuario (Chapter 11: Accessing Databases) te da suficiente información (Working with Blobs).
Espero tu respuesta...

NotaPublicado: Lun Mar 07, 2011 9:25 am
por pacopicon
Además un modelo local de ejemplo en la carpeta Samples de Plex. Se llama BLOBSAMPLE.MDL.

NotaPublicado: Mar Mar 08, 2011 5:20 pm
por fenixo69
SI estoy haciendo mi aplicación en Plex 5.1 compilando en el as/400 y si estoy tratando de hacer lo mismo de BlobSample que se encuentra en la carpeta Samples que trae Plex... Aun estoy en proceso de terminarlo pero estoy mas que seguro que no correrá porque según ese modelo esta hecho para funcionar con el SQL siguiendo un poco la orientación del "F1" le estoy haciendo un par de cambios para que funcione en el as/400 incluso el F1 dice con el as/400 tiende haber limitaciones con el :s

Alternativa

NotaPublicado: Mar Mar 08, 2011 8:54 pm
por Jorge Ubeda
fenixo69 escribió:SI estoy haciendo mi aplicación en Plex 5.1 compilando en el as/400 y si estoy tratando de hacer lo mismo de BlobSample que se encuentra en la carpeta Samples que trae Plex... Aun estoy en proceso de terminarlo pero estoy mas que seguro que no correrá porque según ese modelo esta hecho para funcionar con el SQL siguiendo un poco la orientación del "F1" le estoy haciendo un par de cambios para que funcione en el as/400 incluso el F1 dice con el as/400 tiende haber limitaciones con el :s


El único problema que le veo al esquema basado en el AS/400 es que existe un límite de tamaño manejable para alojar blobs. Pero quizá sea posible y conveniente un enfoque distinto. No veo qué necesidad hay de guardar un binario en un campo de una base de datos relacional. En una ocasión en que tuve que resolver un problema de este tipo, hice algo distinto: Creamos un repositorio de imágenes (el archivo de fotografías del personal) en un servidor -simplemente un conjunto de ficheros de imágenes en una carpeta-, y usamos un campo de la base de datos para relacionar una cosa con la otra. Luego, al recuperar una fila de la base de datos, apuntabamos nuestro blob a su dirección en el servidor. En nuestro caso, el identificador era el número de documento. Así, para localizar un blob, su dirección era la ruta de la carpeta + el dni + la extensión del fichero (jpg).
Así, nuestra tabla no tenía que tomar un volúmen extra, complicando la recuperación de conjuntos de datos, y alojamos las imágenes de una forma más razonable para su propia naturaleza.

NotaPublicado: Mar Mar 08, 2011 9:27 pm
por fenixo69
Me parece fantástica tu idea tiene mucha lógica.... si es posible como puedo encontrar información de un ejemplo de como jalar el blob y verlo??