FOTOS DE LOS ALUMNOS Y DOCENTES

Se detectó un problema en la versión de Informix 9.21 respecto de los campos de tipo blob (byte / text) cuando se realiza un export de la base con el comando dbexport.

Sucede que al realizar el dbexport solo se envia el descriptor del campo blob y no el contenido con lo cual al realizar el dbimport estos campos no se importan correctamente.

Es el caso de la foto de los alumnos y docentes (tabla sga_personas_foto, campo foto que es de tipo byte).

Unas solución que se encontró para salvar este error es hacer lo siguiente:

  1. Antes o despues de exportar la base de datos, correr el comando UNLOAD para bajar el contenido de la tabla sga_personas_foto:
unload to "c:\fotos.unl"  select * from sga_personas_foto;
  1. Importar la base

  2. En la base importada se debe corregir el problema de los datos de esta tabla.
    Para corregir esto borrar los datos de la tabla sga_personas_foto e importar esos datos con el comando LOAD desde el archivo generado con el UNLOAD del punto 1:


BEGIN WORK;

-- borro las fotos
DELETE FROM sga_personas_foto;  

-- levanto los datos de la tabla
LOAD FROM 'c:\fotos.unl'   INSERT INTO sga_personas_foto;
COMMIT WORK;

IMPORTANTE: No borrar la base de datos antes de hacer el UNLOAD, ya que si solo se tiene el export de la base, ese archivo ya esta dañado y no podra recuperarse. Si pasa este caso, deberian recuperar algun backup de la instancia para recuperar la base de datos y de alli luego extraer los datos de esta tabla.

  1. Se debe bajar las fotos al sistema de archivos.
    El Guarani 3w cuando visualiza las fotos de los alumnos (en carga de asistencia, notas en actas de examen, cursadas, promociones, …) recupera las fotos de los alumnos desde el sistema de archivos y no desde la base de datos.

Para ello hay que correr el comando importar_fotos
En el archivo de configuracion de Guarani 3w, existe el parámetro imagen_alumno_dir. Aqui se detalla el lugar en donde se crearan los archivos de las fotos de los alumnos/docentes:
Ejemplo:

  
 'imagen_alumno_dir' => '/path/to/g3w2/src/siu/www/_comp/_img_alumnos'

El comando ./guarani importar_fotos extrae las fotos de los alumnos de la base y las almacena en el sistema de archivos para que sea mas eficiente el uso de las mismas. Estas fotos las guarda en el directorio que este definido en el parámetro imagen_alumno_dir .

IMPORTANTE: Este comando deberá correrse periódicamente si es que suben nuevas fotos o actualizan fotos de los alumnos y docentes.

Encuestas (SIU-Kolla):
Recordar que para el caso de encuestas sobre actuación docente, si existen fotos de docentes, estas fotos tambien se pasan a Kolla cuando se vinculan las encuestas con Kolla. Esto permitirá a los alumnos que al momento de responder encuestas sobre actuación docente, tenga la posiblidad de ver la foto del docente sobre el que está respondiendo la encuesta.

Hola

Intente reproducir el error en linux con un Informix 9.21 exportando una base de guarani que tiene fotos (use la misma base que da el error bajo Windows) y el error no se pudo reproducir. El dbexport funciono OK generando el campo de la foto completo.

Hasta ahora el error del dbexport se dio en Informix 9.21 para Windows. Si alguno tiene Informix bajo windows en alguna version posterior a 9.21 estaria bueno hacer una prueba, ya que podria estar resuelto tambien.

saludos
Ignacio

saludos

Hola

Te puedo pasar una base de datos con fotos de un informix 9.21 en windows.
Creo que el problema estaba cuando el campo blob se creaba en un dbspace distinto que el de la tabla.

Pa’ complicar el tema no mas.

Emilio

Hola Alejandro.
Cuando ejecuto el comando de importar fotos, me da el siguiente error:


root@guaraniweb:/usr/local/proyectos/guarani2/3w/versiones/2.9.1/bin# ./guarani importar_fotos
PHP Warning:  Module 'pdo_pgsql' already loaded in Unknown on line 0


  [RuntimeException]
  Not enough arguments.


importar_fotos acceso

No entiendo por que me salta un mensaje de Postgres, si el sistema funciona con informix. Me podrías orientar debido a que puede ser el error. Gracias.
Cómo se muestra, estamos en la versión 2.9.1,

Hola Javier!
Te falta un parámetro en la ejecución del comando. Tenés que poner el nombre del bloque de acceso correspondiente (en el archivo config.php, dentro la entrada ‘accesos’, el bloque correspondiente a tu instalación. Por ejemplo: des01)


root@guaraniweb:/usr/local/proyectos/guarani2/3w/versiones/2.9.1/bin# ./guarani importar_fotos des01

Probalo y comentanos si funcionó!

Huuuu… que banana!!! no me fije de ese parámetro… perdón.

Si, funciona… a medias jejej… ahora tengo que ver otro problema:


  [kernel\error_kernel_db]                                                                                                                                   
  DB CONNECTION ERROR: ERROR conectandose al motor - SQLSTATE=HY000, SQLDriverConnect: -23101 [Informix][Informix ODBC Driver][Informix]Unspecified System Error =  -23101.
                                                                                                                                                             
  Por favor, verifique sus parámetros de conexión:                                                                                                         
.....

El código -23101 corresponde a : "Unable to load locale categories. "
No recuerdo bien dónde tenía que revisar esos parámetros.
Gracias igual.

Tema Solucionado!!!

Deberías revisar que estén bien configurados los parámetros de conexión a la base de datos en el config.php.
También, podés correr el test de conexión para verificar si se conecta correctamente:


root@guaraniweb:/usr/local/proyectos/guarani2/3w/versiones/2.9.1/bin# ./guarani test_conexion des01

Fijate si eso te ayuda a resolverlo.
Sino, podés crear otro hilo en el foro para tratar ese problema concreto.

Saludos!