(SOLUCIONADO) UNPA_MIgracion datos de empleados a Diaguita

Hola, escribo para realizar una consulta, estamos tratando de realizar la migracion de los datos desde el SIU-Mapuche2.2.2 al SIU-Diaguita 2.2.2, al momento de realizar la migracion se nos presenta el siguiente error:
[size=10pt]07-10-2015 13:29:49: COMENZANDO A SINCRONIZAR - METODO completo


DUMP DE TABLA dh01: OK!
TRUNCATE DE TABLA mapuche.dh01: OK!
COPY DE TABLA mapuche.dh01: OK!
VACUUM DE TABLA mapuche.dh01: OK!
INICIANDO TRANSACCION PARA ACTUALIZAR DIAGUITA
PHP Warning: pg_query(): Query failed: ERROR: no existe la columna «d» en la relación «dh01»
LINE 1: update diaguita.dh01 d SET d.desc_appat = dd.desc_appat, d.d…
^ in /var/lib/postgresql/migra.php on line 134
Error Postgresql:ERROR: no existe la columna «d» en la relación «dh01»
LINE 1: update diaguita.dh01 d SET d.desc_appat = dd.desc_appat, d.d…
^
PHP Warning: pg_query(): Query failed: ERROR: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción in /var/lib/postgresql/migra.php on line 140
Error Postgresql:ERROR: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción
PROCESO DETENIDO POR ERRORES…
NO SE GUARDARON LOS CAMBIOS EN LA BASE DEL DIAGUITA
[/size]

El archivo dh01. txt , posee datos y el esquema mapuche existe, el problema es al momento de insertar en la tabla dh01 del diaguita. Como podriamos solucionar el mismo.
Desde ya gracias .

Hola Sonia,

En esencia, este script (aporte de Diego Tait) lo que requiere es tener una tabla mapuche.dh01 en la base de Diaguita idéntica a la que existe en Mapuche. El problema que pueden estar teniendo quizás sea que le agregaron manualmente una columna en alguna de ellas. También puede darse que el archivo dh01.txt esté mal formado o incompleto (es un archivo con instrucciones SQL simplemente, solo que son muchas).

Saludos!

PD: pueden corroborar los logs de PostgreSQL para ver en detalle el error SQL y no quedarse con lo que les informa brevemente en consola…

Hola Sergio: realizamos la conversion a utf8 del archivo dh01 y funciono, el tema es que se nos presenta otro problemita mas al momento de realizar el insert, luego de modifcar el orden de la columna nro_legaj para que se corresponda con dicha columna en la tabla dh01 y ejecutar el migra.php: se nos presenta el siguiente error:
"********************************************************************************
08-10-2015 12:04:02: COMENZANDO A SINCRONIZAR - METODO completo


DUMP DE TABLA dh01: OK!
TRUNCATE DE TABLA mapuche.dh01: OK!
COPY DE TABLA mapuche.dh01: OK!
VACUUM DE TABLA mapuche.dh01: OK!
INICIANDO TRANSACCION PARA ACTUALIZAR DIAGUITA
PHP Warning: pg_query(): Query failed: ERROR: la columna «nro_legaj» es de tipo integer pero la expresión es de tipo character
LINE 1: …a_nacim, pais_nacim)SELECT nro_legaj, desc_appat, desc_nombr…
^
HINT: Necesitará reescribir la expresión o aplicarle una conversión de tipo. in /var/lib/postgresql/migra.php on line 153
Error Postgresql:ERROR: la columna «nro_legaj» es de tipo integer pero la expresión es de tipo character
LINE 1: …a_nacim, pais_nacim)SELECT nro_legaj, desc_appat, desc_nombr…
^
HINT: Necesitará reescribir la expresión o aplicarle una conversión de tipo.
no se hizo el insert
PROCESO DETENIDO POR ERRORES…
NO SE GUARDARON LOS CAMBIOS EN LA BASE DEL DIAGUITA
root@uapasd01:/var/lib/postgresql"

Intentamos modifcar el tipo de datos pero el error periste.

Desde ya gracias por tu ayuda.

Saludos

Hola chicos, logramos solucionar el tema de la importacion de los datos del mapuche, ahora el tema es que se nos presenta un error al acceder a los datos Usuarios → Empleados:
SQLSTATE[22P05]: Untranslatable character: 7 ERROR: carácter 0xc5bd de codificación «UTF8» no tiene equivalente en «LATIN1»
Mas datos:

  • tenemos la base diaguita en utf8
  • tenemos el archivo dh01.txt en utf8
  • cuando ejecutamos migrar.php sale todo OK.
    -al ingresar al sistema en la opcion USUARIOS/EMPLEADOS nos sale el error del encoding
    SQLSTATE[22P05]: Untranslatable character: 7 ERROR: carácter 0xc5bd de codificación «UTF8» no tiene equivalente en «LATIN1»
  • en la opcion ABM-Usuarios, en la busqueda para el alta de usuario, se encuentra el empleado y se puede dar de alta.

*** si cambiamos el encoding de diaguita de utf8 a latin1 se pueden visualizar todos los empleados pero la aplicacion se ve mal, con caracteres especiales. ***

Desde ya muchas gracias, Saludos

Hola Eliza, que bueno ya quedó andando la importación de Mapuche.

Esto ya es otro problema. Lo podemos seguir en otro hilo. De todas formas, respondo acá. La DB al ser creada puede estar en UTF8 (en el cluster de postgres, visualizable con psql -l). La aplicación SIU-Diaguita indefectiblemente tiene que estar en LATIN1 (tanto la configuracion de encoding del bases.ini como los archivos en gral.) pues así se desarrolló inicialmente y se hacen las conversiones de los datos al respecto.

Lo que probablemente les pasó es que están teniendo caracteres UTF8 que no pueden convertirse a LATIN1… yo empezaría por ese lado, mirando nombres y apellidos directamente en la tabla a ver si aparece algo que sea un caractér diéresis o similar. Quitando y probando.

Saludos!