PROBLEMA: Importación de datos censales

Gente, les consulto. Al importar el archivo de datos censales para una facultad me salta el error de la imagen adjunta.
Viendo el log del postgres me sale error en un campo que tiene long de (12 caracteres) pero en la tabla de vga_temp_datos_censales no encontre ninguna referencia a dicho campo. Sobre que tabla esta controlando esa longitud??? Graciassss

##################################este es el ultimo dato para insert que aparece en la tabla

2012-03-08 11:54:40 ART LOG: sentencia: INSERT INTO vga_temp_datos_censales VALUES ( ‘FCS-1’,‘11193’,‘DIAZ’,‘Maria Melina’,‘26/05/2000’,‘1’,‘54’,‘5430’,‘5430084’,‘2866’,‘2’,‘0’,‘37465868’,NULL,NULL,NULL,NULL,NULL,‘Alem’,‘301’,NULL,NULL,NULL,‘5430’,‘3654’,‘3240’,NULL,‘0-343-15-5012670’,‘meeli.d@hotmail.com’,‘2’,‘3’,NULL,‘N’,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,‘2’,‘3’,NULL,NULL,NULL,NULL,NULL,NULL,NULL,‘1’,‘DIAZ’,‘Gerardo Adolfo’,‘M’,‘5’,‘Viajante’,‘1’,NULL,‘2’,NULL,‘S’,‘S’
);

2012-03-08 11:54:40 ART LOG: ejecutar pdo_pgsql_stmt_018dccf0: SELECT sp_vga_importar_datos(‘2012217_FCS-1_DAT_CEN.txt’, ‘Datos censales kine’,‘FCS-1’, ‘I’)
2012-03-08 11:55:03 ART ERROR: el valor es demasiado largo para el tipo character varying(12)
2012-03-08 11:55:03 ART CONTEXTO: PL/pgSQL function “sp_vga_importar_datos” line 65 at assignment
2012-03-08 11:55:03 ART SENTENCIA: SELECT sp_vga_importar_datos(‘2012217_FCS-1_DAT_CEN.txt’, ‘Datos censales kine’,‘FCS-1’, ‘I’)
2012-03-08 11:55:03 ART LOG: sentencia: DEALLOCATE pdo_pgsql_stmt_018dccf0
2012-03-08 11:55:03 ART ERROR: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción
2012-03-08 11:55:03 ART SENTENCIA: DEALLOCATE pdo_pgsql_stmt_018dccf0
2012-03-08 11:55:03 ART LOG: sentencia: ROLLBACK TRANSACTION
2012-03-08 11:55:03 ART LOG: ejecutar pdo_pgsql_stmt_011a7300: SELECT * FROM vga_fuentes_datos f
INNER JOIN vga_origen_datos o ON o.id_origen_datos = f.origen
WHERE o.nombre_archivo = ‘2012217_FCS-1_DAT_CEN.txt’
2012-03-08 11:55:03 ART LOG: sentencia: DEALLOCATE pdo_pgsql_stmt_011a7300
2012-03-08 11:55:03 ART LOG: ejecutar pdo_pgsql_stmt_011a7300: SELECT rf.restriccion_funcional
FROM
apex_grupo_acc_restriccion_funcional rf
WHERE
rf.usuario_grupo_acc IN(‘admin’)
AND proyecto = ‘tehuelche’

2012-03-08 11:55:03 ART LOG: sentencia: DEALLOCATE pdo_pgsql_stmt_011a7300


error importando datos censales.png

error importando datos censales.png

Hola Carolina,
ninguna de esas tablas tiene un campo definido de esa manera. Lo que hay definido así es el campo de un tipo incluido dentro de una de las funciones utilizadas en esa importación. De todas maneras en la parte del log que envias no se ve ningún campo que pueda estar violando esa definición.
Lo estuvimos analizando y no encontramos el motivo de error, ¿ustedes han realizado modificaciones/personalizaciones a las tablas o las funciones de la versión de tehuelche?

No, ninguna personalización. Es más, lo estoy probando tal cual lo baje e instale. Tuve muchos dramas con las importaciones. Y si bien en todos los errores que me salian con las facultades (son 9), salia bastante claro en que tabla era, con la ultima que trate de importar me salto ese problema. :frowning:

Que podrá ser¡???
Gracias

Hola Carolina,

para poder evaluar un poco más en detalle necesitaríamos que nos envíes los archivos con los cuales están probando la importación. También sería importante que nos envíes la estructura de la tabla donde se quiere hacer el INSERT, como para ver que todo esté correctamente definido. Para enviar los datos, si querés podés hacerlo a la cuenta de tehuelche.

Hola Carolina,

estuvimos estudiando el problema y encontramos que el error está dado por los datos que se quieren importar. El error está en un registro del archivo 2012217_FCS-1_DAT_CEN.TXT. El problema está en el valor del código postal, tiene el valor “indefinida”, y como tiene 13 caracteres, y el cp tiene un máximo de 12 la base de datos envía el error. Por lo tanto lo que tenés que hacer es corregir el valor ese de “indefinida” por un valor correcto o mas corto. La línea donde está este valor en el archivo es la 2281.

Chicos, hize las correcciones que me sugirieron. Eran varios los campos errores en el cod postl (habia valores como INDETERMINADO, UNDEFINED e incluso GUALEGUAYCHU).

Ahora el problema que tengo es otro, se me queda colgada la aplicación, es decir, en el momento de la importación del archivo que pesa 786 k, se queda pensando y nunca termina de importar.

Les paso el log del postgres a ver si me me pueden decir que le pasa ahora, aclaro que realize:
1-la importacion de uuaa
2-la importacion de carreras
3-importacion de datos censales

Gracias


lopostgres.txt (67.8 KB)

Chicos,encontre algo en el log el apache, asi que se los paso par aque lo vean…


Desktop.zip (1.67 KB)

Hola Carolina,

nuevamente sería importante tener el juego de datos que estás importando, para probar a ver qué es lo que está pasando. Yo subí los datos censales sin problema, habiendo cambiado únicamente ese registro. Por favor envianos a la cuenta de tehuelche los archivos así los probamos. De los archivos de log que enviastes no puedo deducir mucho.

Hola Carolina,

probé el archivo y lo pude levantar sin problemas. En los logs que me enviastes no sale nada. Te fijastes en la configuración de PHP, las siguientes líneas

max_execution_time = 0 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)

quizás el max_execution_time no esté permitiendo que termine correctamente el importador. En este caso, que es una pc de prueba, el max_execution_time esta en 0, es decir, ilimitado. Para un entorno de producción eso no es recomendable para nada, pero quizás puedas probar cambiando ese valor.

Las lineas en el php.ini están igual… solo modifique el primero por el valor 0, pero tampoco anduvo y sigue sin funcionar, raro pero bueno… Es el unico que no puedo importar de los datos censales. :frowning:

Carolina, y en el log de postgres te quedó algo? Como para poder ver. También sería útil el log de Toba, es decir el que deja toba para la aplicación. Quizás ahí podamos encontrar algo.

En el log del postgres nmo me marca nada cuando quiero importar, voy siguiendo la secuencia con el comando tail -f /var/log/postgresql … y cuando hago click en el importar no me registrada nada. Queda colgado como la aplicación…

El log del toba donde lo veo? Dentro de …/tehuelche/toba???

==========
[INFO][tehuelche] PUNTO MONTAJE: se cargó la clase login/ci_login.php del punto de montaje proyecto. El path del mismo es /var/www/tehuelche/aplicacion/php
[INFO][toba] Se recargo el nucleo
[INFO][toba] Se detecto cambio de operación. Se limpia la memoria de la operacion
[INFO][toba] Se detecto cambio de operación. Se limpia la memoria de la operacion

-o-o-o-o-o-
Fecha: 22-03-2012 10:58:23
Operacion: Importar Datos Censales
Usuario: admin
Version-PHP: 5.2.6-1+lenny9
El unico log que encontre fue en /var/www/tehuelche/instalacion/i__produccion/p__tehuelche/logs/sistema.log y se registro lo siguiente:

Servidor: tehuelche.uner.edu.ar
URI: /tehuelche/aplicacion.php?tm=1&ai=tehuelche||3282
Referrer: http://tehuelche.uner.edu.ar/tehuelche/aplicacion.php?ah=4f6b2ff87081b&ai=tehuelche||1000105
Host: 10.10.10.3

[INFO][toba] Se detecto acceso desde el menu. Se limpia la memoria de la operacion
[INFO][tehuelche] PUNTO MONTAJE: se cargó la clase importacion/ci_importar.php del punto de montaje proyecto. El path del mismo es /var/www/tehuelche/aplicacion/php
[INFO][toba] componente(1822): No hay señales de un servicio anterior, no se atrapan eventos
[INFO][toba] componente(1822): [ callback ] ‘conf__importar’ no fue atrapado

Carolina,

el log de toba, es el que queda dentro del directorio instalacion, ahi de acuerdo a la instancia tenés una carpeta i__"nombredelainstancia/p__tehuelche/logs. Los archivos que están ahi dentro tendrías que enviarme para ver qué está pasando. Si no llega a hacer ninguna sql en el motor, evidentemente el problema está antes.
Espero el envío entonces.

Oscar, te paso lo que encontre


sistema.txt (1010 KB)

Carolina,

ese es el archivo, pero no tiene la información suficiente. Para poder ver un poco más, tenés que agregar estas dos líneas (si es que no están ya) en el archivo aplicacion.php, es decir, en el punto de acceso del proyecto (dentro de la carpeta proyectos/tehuelche/www, o bien donde lo tengas especificado).

define(“apex_pa_log_archivo”, true);
define(“apex_pa_log_archivo_nivel”, 7);

Entras al sistema y ejecutas la opcion de importar, y luego volves a ubicar el nivel en 6 (apex_pa_log_archivo_nivel) para que quede en información solamente. Una vez hecho esto, enviame nuevamente el archivo de log (sistema.log)

Ahi veremos qué más está pasando.

Aquí va nuevamente el archivos de log luego de la modificación de los parámetros…

Saludos


sistema.txt (4.2 KB)

Carolina, estuvimos analizando el log, y la verdad que no encontramos pistas de qué puede estar pasando. Nosotros hemos procesado el archivo que nos enviastes en varias instalaciones y no hemos tenido problemas para importarlo. Problema de tiempos de procesamiento no son, ya que son pocos registros. El cartel de “Procesando, por favor aguarde” te aparece? o directamente no llega a aparecer? Otra de las pruebas que se nos ocurre que podés hacer es editar el archivo de datos censales y dejarle pocos registros, 10 por ej, como para ver si los procesa correctamente. Si fuese el caso de que los procesa bien, habría que ir incorporando registros para ver qué pasa, y ver en qué momento deja de funcionar.

Me esta agarrando para la chacota el archivo … Ahora pruebo lo que me decis de editarlo y dejarlo con pocas lines. El cartel aparece y queda pensando, como que se cuelga la aplicación… De hecho, un día, probe importar ni bien llegue (a las 7.00) y eran las 13.00 y el cartel seguia dando vuelta y en el log del postrgres no registrada nada. Raro, pero bue. Voy a seguir probando y te aviso

Gracias por la paciencia
Saludos

Si, son cosas raras, pero a veces pasan. Otra de las cosas que estamos viendo ahora, es que edites el php.ini y le pongas para que muestre los errores, warnings y demas como para ver si podemos encontrar algun otro problema, que no estemos viendo.