Migrador de bienes patrimoniales_Conexion a la bd en Kettle (RESPONDIDO)

Buenos dias, el motivo del presente es para realizarles la siguiente consulta:
Estamos analizando el funcionamiento del migrador de bienes patrimoniales.
Tenemos instalada la herramienta, y al configurar la conexion con la base de datos, se nos presenta lo siguiente:
Seguimos la documentación https://documentacion.siu.edu.ar/wiki/SIU-Diaguita/migrador/version1.0.0/Kettle_Configuracion y estamos mirando el video en https://www.youtube.com/watch?v=gIP0hdCY90c&list=PLfXfgqj-WqGlpv0HAcG09mwev4vswjUK_&index=4.

La herramienta la tenemos instalada en un servidor con Debian 9, con java 1.8.0 y postgreSQL 9.6
La base de datos de diaguita esta en otro servidor con debian 11, con java 1.8.0 y postgreSQL 11.9

Lo que nos esta sucediendo es que por mas que editemos el archivo en forma manual en: /home/pvidal/.kettle/kettle.properties, cuando ingresamos a kettle y vamos al trabajo esquema_ext.kjb, a probar la conexion la aplicación no levanta los valores seteados.
Pero si los cargamos en forma manual si se conecta con exito.

1- Entonces la consulta es: el lugar donde definimos estas variables es correcto? Probamos asignar todos los permisos tambien pero tampoco levanta estos valores.
Si bien para poder seguir avanzando con la prueba del migrador lo vamos a setear desde la aplicación, queriamos consultarles como hacer para no tener que configurar estos valores cada vez que ingresemos a la aplicación.

2- Otra consulta a realizar, es que para conectarnos a la bd usamos un usuario de la base de datos diaguita que no es postgre, en el video se menciono que debia usarse el usuario postgres. Esto si o si debe ser asi? La consulta radica porque en cada sistema de la UNPA se define un usuario de la base de datos particular, no se usa el usuario postgres.

Muchas gracias

Paola
UNPA

Buenas tardes Paola

Respecto a la primera consulta, es en el archivo home/pvidal/.kettle/kettle.properties el lugar correcto para definir los parámetros de conexión a la base de datos de SIU-Diaguita. Los debería tomar, pero también debo decir que con las pruebas que hemos hecho usando la herramienta Kettle, nos pasa el mismo problema que nos comentaste. Es decir, cada vez que abrimos la aplicación debemos ajustar esos valores manualmente. Por el momento recomiendo que lo sigan ajustando manualmente.

Con respeto al segundo comentario, los SQLs que incorporamos en el migrador, genera un conjunto de tablas temporales en el esquema EXT. En la creación de dichas tablas establecimos que el dueño es el usuario postgres (por ejemplo en el archivo “migrador_bienes_patrimonialesV1.0.1/00_Esquema/script_01_crear_esquema.sql” en la creación del esquema EXT aparece lo siguiente “CREATE SCHEMA ext AUTHORIZATION postgres;”. Te recomiendo igual que pruebes con el usuario propio que han creado y en el caso que les origine algún inconveniente deberían ajustar en todos los archivos sqls el usuario postgres por el usuario_que_estan_utilizando.

Saludos cordiales

Buenas tardes gracias por la respuesta.
Seguiremos probando los pasos del migrador y estaremos consultando cualquier inquietud.

Muchas gracias!

Saludos
Paola
UNPA

Buenos dias, les comento que siguiendo los pasos del migrador de bienes patrimoniales:
1- Configuramos las variables de entorno
2- Ejecutamos por única vez el trabajo: diaguita_migrador/00_Esquema/esquema_ext.kjb
3- Probamos editar el archivo mig_bienes_patrimoniales.csv con un unico registro, solo a efectos de probar el migrador.
4- Ejecutamos diaguita_migrador/02_Bienes_Patrimoniales/00_Estructura/script_ mig_bienes_patrimoniales.kjb, y aqui se nos presenta el error, el cual detallo a continuación:

2022/03/14 09:57:58 - Spoon - Iniciando trabajo…
2022/03/14 09:57:58 - script_ mig_bienes_patrimoniales - Ejecución del trabajo comenzada
2022/03/14 09:57:58 - script_ mig_bienes_patrimoniales - Entrada de comienzo [Crea mig_bienes_patrimoniales]
2022/03/14 09:57:58 - script_ mig_bienes_patrimoniales - Entrada de comienzo [UpLoad de mig_bienes_patrimoniales]
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - Running transformation using the Kettle execution engine
2022/03/14 09:57:58 - upload_mig_bienes_patrimoniales - Iniciado despacho de la transformación [upload_mig_bienes_patrimoniales]
2022/03/14 09:57:58 - Salida Tabla.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : An error occurred intialising this step:
2022/03/14 09:57:58 - Salida Tabla.0 - Error occurred while trying to connect to the database
2022/03/14 09:57:58 - Salida Tabla.0 -
2022/03/14 09:57:58 - Salida Tabla.0 - Connection failed. Verify all connection parameters and confirm that the appropriate driver is installed.
2022/03/14 09:57:58 - Salida Tabla.0 - FATAL: la autentificación password falló para el usuario «postgres»
2022/03/14 09:57:58 - Salida Tabla.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : Error inicializando el paso [Salida Tabla]
2022/03/14 09:57:58 - upload_mig_bienes_patrimoniales - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : ¡No se ha podido inicializar el paso [Salida Tabla.0]!
2022/03/14 09:57:58 - Salida Tabla.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : Unexpected error rolling back the database connection.
2022/03/14 09:57:58 - Salida Tabla.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2022/03/14 09:57:58 - Salida Tabla.0 - Unable to get database metadata from this database connection
2022/03/14 09:57:58 - Salida Tabla.0 -
2022/03/14 09:57:58 - Salida Tabla.0 - Error connecting to database [${pg_nombrebase}]
2022/03/14 09:57:58 - Salida Tabla.0 -
2022/03/14 09:57:58 - Salida Tabla.0 -
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:3132)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.core.database.Database.rollback(Database.java:912)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.core.database.Database.rollback(Database.java:904)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:625)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:1258)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.trans.Trans.execute(Trans.java:756)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:1191)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.Job.execute(Job.java:693)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.Job.execute(Job.java:834)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.Job.execute(Job.java:834)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.Job.execute(Job.java:503)
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.job.Job.run(Job.java:389)
2022/03/14 09:57:58 - Salida Tabla.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
2022/03/14 09:57:58 - Salida Tabla.0 - Error connecting to database [${pg_nombrebase}]
2022/03/14 09:57:58 - Salida Tabla.0 -
2022/03/14 09:57:58 - Salida Tabla.0 - at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:3126)
2022/03/14 09:57:58 - Salida Tabla.0 - … 11 more
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : Imposible realizar los preparativos para la ejecución de la transformación
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : org.pentaho.di.core.exception.KettleException:
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - No se ha podido inicializar al menos un paso. ¡La ejecución no puede comenzar!
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales -
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales -
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:1287)
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales - at org.pentaho.di.trans.Trans.execute(Trans.java:756)
2022/03/14 09:57:58 - UpLoad de mig_bienes_patrimoniales -

La consulta es porque se puede estar generando dicho error, si se conecta bien a la base para ejecutar los pasos anteriores…
Realizamos las pruebas con el usuario postgres, pero sale el mismo error.
La configuración de las variables de entorno estan hechas desde la aplicación y desde /home/pvidal/.kettle/kettle.properties

Adjuntamos un ejemplo de .csv.

Desde ya muchas gracias
Paola
UNPA


mig_bienes_patrimoniales.zip (671 Bytes)

Hola Paola,
Te comento estas teniendo un problema de autenticación; por que la clave no es la correcta o no esta ingresada te paso un enlace donde explica la configuración en kettle:

https://documentacion.siu.edu.ar/wiki/SIU-Diaguita/migrador/version1.0.0/Kettle_Configuracion

Saludos Diego!!!

Hola Diego,
Para hacer la configuracion seguimos justamente la documentacion que mencionas. La conexion esta funcionando porque se ejecuta la creación del esquema ext en la base diaguita y la creación de la tabla mig_bienes_patrimoniales.
El problema surge cuando intenta hacer el UpLoad de mig_bienes_patrimoniales.
El tema es que estamos usando la misma conexion por eso no entendemos el error…
¿Que puedo verificar?

Gracias!
Saludos
Paola
UNPA

Hola Paola,
Vamos a estar realizando pruebas locales para replicar el error y analizarlo para darte una solución.
Saludos Diego!!!

Ok, estare atenta a sus comentarios.
Muchas gracias!

Paola
UNPA

Hola Paola,
Hay que tener en cuenta que antes de ejecutar la tarea deber verificar en la pestañas de variables que los valores se encuentren precargados y que la tabla mig_bienes_patrimoniales este en el esquema ext .
Saludos Diego!!!

Buen dia Diego, si eso esta verificado de hecho te lo comente en uno de los mensajes la conexion esta funcionando porque se ejecuta la creación del esquema ext en la base diaguita y la creación de la tabla mig_bienes_patrimoniales. Es decir esto existe.
Las variables estan precargadas.
Adjunto imagen donde se puede observar estos valores y ademas se visualiza en el log que la tabla se creo con exito.

Saludos
Paola
UNPA


UNPA_ERROR EN KETTLE.png

UNPA_ERROR EN KETTLE.png

Hola Paola,
Observa que falta la clave agrega en “Editar”=>“Establecer variables” la entrada “pg_password” con el valor correspondiente y con eso se soluciona.
Saludos!!!

Diego disculpa que no se alcanza a observar en la figura, pero esta seteado este valor.

No logro comprender como es posible que de un error de conexion, si crea la tabla en el esquema ext, y esto es parte del mismo trabajo donde hace el upload…

Por otro lado lei en el foro https://foro.comunidad.siu.edu.ar/?topic=6198.20;wap2, que proponen como solucion setear en kettle.properties el valor KETTLE_EMPTY_STRING_DIFFERS=Y. Probe esto tambien pensando que quizas esta rebotando valores del csv que adjunte en el primer mensaje… pero tampoco funciono.

No se que mas podria probar…

Desde ya muchas gracias!
Paola
UNPA

Hola Paola,
Estuvimos realizando pruebas y el error es por la falta de la variable de entorno no definida, otras universidades han avanzado de forma correcta. Estaremos analizando el caso y te informamos una vez que encontremos algo.
PD: adjunto como debe quedar la config en la tarea.

http://config_ketlle.png

Saludos!!!


config_kettle.png

config_kettle.png

Buen dia Diego,
Paso a comentarte pruebas que estuve realizando:

1- Respecto a la consulta inicial que habia hecho de que a pesar de definir las variables de entorno en kettle.properties, cuando ingresaba a la aplicación, no me las levantaba y tenia que setearlas cada vez que entraba.
Detecte que lo que estaba haciendo mal es que defini estas variables en mi /home/pvidal/.kettle/kettle.properties y la aplicación la ejecutaba como root. Entonces ejecutando la aplicación como pvidal en este caso, esto se resuelve. Es decir hay que ejecutar el spoon.sh con el usuario al cual se le definieron las variables de entorno… no me di cuenta de este detalle jeje. Asi que eso esta solucionado.
Otra cosa que pude ver, es que levanta todas las variables definidas en kettle.properties menos la variable pg_password, asi que esta si o si hay que volverla a agregar.
Asi que esta duda esta solucionada!

2-Respecto al error que se me esta presentando en el upload, mirando el archivo upload_mig_bienes_patrimoniales.ktr, noto que en la linea que hace referencia a la password figura lo siguiente:

Encrypted 2be98afc86aa7f2e4bb16bd64d980aac9

Entonces lo que hice fue modificar esa linea y colocar
${pg_password}

Y ahi si ejecuta el upload, ahora me esta dando otros errores de conversión pero los voy analizar y estare consultando cualquier cosa.
La consulta es: ¿es correcto lo que hice? o no deberia editar esto? Porque en la documentación no lo menciona, y quizas estoy haciendo algo que no se debe.

Muchas gracias!
Paola
UNPA

Hola Paola,
siguiendo los pasos en la documentación esto funciona correctamente, chequea el tema de las versiones de java y del kettle y el S.O ya que esto esta armado sobre windows, nosotros hemos realizado pruebas en distro como ubuntu, debian y no hemos tenido inconvenientes.
Cualquier novedad estamos en contacto.
Saludos!!!