[RESPONDIDO] Problemas al ejecutar Sinc Arai - Diaguita

Srs,
Buenos días. Nos surge el siguiente problema al intentar ejecutar la sincronización inicial Diaguita-Arai

$ ./toba proyecto arai_sinc_inicial –pdiaguita –iproduccion
La opcion ‘arai_sinc_inicial’ no existe
.
.

Se ha cargado el ambiente toba toba antes de correr el comando. Estamos utilizando para las pruebas Diaguita 2.3.0 / 2.3.1
Quedo atento a sus comentarios.

Saludos,
Nicodemo.

Hola Nicodemo,

Para ver si las variables de entorno se exportaron correctamente probá de hacer los export que están en entorno_toba_2.x.sh manualmente.
Luego hacé un echo de $TOBA_DIR y $PATH para ver si los valores se actualizaron.
Si los echo muestran los valores de las variables de entorno correctamente volvé a ejecutar el comando

$ ./toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

y verificar si funciona

Saludos

Leonardo,
Encontré un problema en el entorno, pero ahora surge otro; por ende te paso lo realizado:

$ cat /usr/local/siu/diaguita/instalacion/entorno_toba.env
export TOBA_DIR=/usr/local/siu/diaguita/toba
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/usr/local/siu/diaguita/instalacion
export PATH="$TOBA_DIR/bin:$PATH"

Aquí falta la definición de TOBA_PROYECTO por lo cual se agrego:

$ export TOBA_DIR=/usr/local/siu/diaguita/toba
$ export TOBA_INSTANCIA=produccion
$ export TOBA_INSTALACION_DIR=/usr/local/siu/diaguita/instalacion
$ export PATH="$TOBA_DIR/bin:$PATH"
$ export TOBA_PROYECTO=diaguita

Y cuando se corre el script arroja el siguiente error:

$ ./toba proyecto arai_sinc_inicial –pdiaguita –iproduccion
PHP Notice:  Use of undefined constant apex_pa_instancia - assumed 'apex_pa_instancia' in /usr/local/siu/diaguita/aplicacion/php/extension_toba/diaguita_comando.php on line 1129

 ERROR ejecutando SQL:
  [CODIGO]: 7
  [SQLSTATE]: db_08006
  [MENSAJE]: SQLSTATE[08006] [7] FATAL:  no pg_hba.conf entry for host "12.12.12.12", user "arai", database "arai", SSL off
  [SQL EJECUTADA]:


 ___________________________________________________________________________________________________
 TIEMPO: 0,090 segundos


El problema es que 12.12.12.12 (IP ficticia cambiada para ejemplificar en este foro) es laIP del propio servidor Diaguita donde se esta corriendo el comando. Entiendo que dentro del servidor Diaguita no debe existir la DB “arai” sino que esta puede/debe ser referenciada dentro del archivo bases.ini
Nuestro archivo bases.ini contiene:

[produccion diaguita siu_arai]
motor = "postgres7"
profile = "11.11.11.11"
puerto = "5432"
usuario = "arai"
clave = "XXXXXXXXXXXXXX"
base = "arai"
schema = public
encoding = LATIN1

El error evidente es que intenta conectar a una DB local que no existe en vez de hacerlo con la definida dentro del bases.ini en la IP 11.11.11.11
¿Estamos realizando mal algún paso o tenemos algún error dentro de nuestra configuración? Desde ya agradezco su ayuda.

Saludos,
Nicodemo.

Nicodemo,

Respecto a las variables de entorno, definir TOBA_PROYECTO en principio no es necesario, ya que cuando ejecutas el comando en el -p estás espeficando a que proyecto hacés referencia, de todas formas tampoco genera problemas haberla definido.

Como vos bien dijiste los datos de la base arai los toma del bases.ini, de la entrada (tomando como referencia que la instancia se llama producción)

[produccion diaguita siu_arai]

Me llama la atención el error que devuelve, no te está diciendo que la base no se encuentra, está devolviendo un error de permisos, desde la misma consola donde ejecutaste el comando, probaste de hacer un psql y conectarte a la base arai para verificar si conecta correctamente?

Leonardo,
Finalmente encontré el error en los permisos de la DB.
Solo queda un detalle, luego de ejecutar el comando veo lo siguiente:

$ ./toba proyecto arai_sinc_inicial –pdiaguita –iproduccion
PHP Notice:  Use of undefined constant apex_pa_instancia - assumed 'apex_pa_instancia' in /usr/local/siu/diaguita/aplicacion/php/extension_toba/diaguita_comando.php on line 1129

  ===============================
    Actualizaci▒n de secuencias
  ===============================
  Secuencia sq_anx_personas en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencia sq_anx_domicilios en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencias en base Diaguita esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema sincronizador: Actualizadas las secuencias!
  INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/usr/local/siu/diaguita/instalacion/i__apex_pa_instancia/instancia.ini')

 ___________________________________________________________________________________________________
 TIEMPO: 0,235 segundos

Supongo que al ser “Notice” debo ignorarlo. Me lo confirmas por favor.
Desde ya muchas gracias.

Saludos,
Nicodemo.

Nicodemo,

Si, podés ignorarlo, como ya definiste la instancia en la variable de entorno podés ejecutar el comando sin el parámetro -i, o sea:

$ ./toba proyecto arai_sinc_inicial –pdiaguita

Eso es lo que te está informando el notice. Ya probaste la sincronización inicial?

Leonardo,
Retomando el presente tema el error se sigue presentando:

$ toba proyecto arai_sinc_inicial –pdiaguita –iproduccion
PHP Notice:  Use of undefined constant apex_pa_instancia - assumed 'apex_pa_instancia' in /usr/local/siu/diaguita/aplicacion/php/extension_toba/diaguita_comando.php on line 1114

  ===============================
    Actualizaci▒n de secuencias
  ===============================
  Secuencia sq_anx_personas en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencia sq_anx_domicilios en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencias en base Diaguita esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema sincronizador: Actualizadas las secuencias!
  INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/usr/local/siu/diaguita/instalacion/i__apex_pa_instancia/instancia.ini')

 ___________________________________________________________________________________________________
 TIEMPO: 0,062 segundos

Dentro de toba, en el archivo comandos.log se aprecia:

[ERROR][diaguita] toba_error: INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/usr/local/siu/diaguita/instalacion/i__apex_pa_instancia/instancia.ini')

[TRAZA]exception 'toba_error' with message 'INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/usr/local/siu/diaguita/instalacion/i__apex_pa_instancia/instancia.ini')' in /usr/local/siu/diaguita/toba/php/nucleo/lib/toba_instancia.php:49
Stack trace:
#0 /usr/local/siu/diaguita/toba/php/nucleo/lib/toba_instancia.php(36): toba_instancia::get_datos_instancia('apex_pa_instanc...')
#1 /usr/local/siu/diaguita/toba/php/nucleo/lib/toba_instancia.php(21): toba_instancia->__construct(false)
#2 /usr/local/siu/diaguita/toba/php/nucleo/toba.php(216): toba_instancia::instancia()
#3 /usr/local/siu/diaguita/toba/php/nucleo/lib/toba_proyecto.php(205): toba::instancia()
#4 /usr/local/siu/diaguita/toba/php/nucleo/lib/toba_proyecto.php(226): toba_proyecto::get_path()
#5 /usr/local/siu/diaguita/toba/php/nucleo/toba_nucleo.php(321): toba_proyecto::get_path_php()
#6 /usr/local/siu/diaguita/toba/php/nucleo/toba_nucleo.php(301): toba_nucleo->agregar_paths()
#7 /usr/local/siu/diaguita/toba/php/nucleo/toba_nucleo.php(210): toba_nucleo->iniciar_contexto_ejecucion()
#8 /usr/local/siu/diaguita/toba/php/nucleo/toba_nucleo.php(185): toba_nucleo->iniciar_contexto_desde_consola('apex_pa_instanc...', 'diaguita')
#9 /usr/local/siu/diaguita/aplicacion/php/extension_toba/diaguita_comando.php(1125): toba_nucleo->acceso_consola('apex_pa_instanc...', 'diaguita', 87000165)
#10 /usr/local/siu/diaguita/toba/php/consola/comandos/comando_proyecto.php(89): diaguita_comando->opcion__arai_sinc_inicial(Array)
#11 /usr/local/siu/diaguita/toba/php/consola/comando.php(54): comando_proyecto->ejecutar_opcion('opcion__arai_si...', NULL)
#12 /usr/local/siu/diaguita/toba/php/consola/consola.php(74): comando->procesar()
#13 /usr/local/siu/diaguita/toba/php/consola/consola.php(51): consola->invocar_comando('proyecto', Array)
#14 /usr/local/siu/diaguita/toba/php/consola/run.php(32): consola->run(Array)
#15 /usr/local/siu/diaguita/toba/bin/toba(16): include('/usr/local/siu/...')
#16 {main}

Es de mi entender que esto no debería suceder, por la motivo se actualiza el presente hilo.
Sin mas quedo a la espera de vuestros comentarios.

Saludos,
Nicodemo.

Hola Nicodemo,

Le trasladé la inquietud al equipo Diaguita ya que el comando que estás ejecutando está dentro de SIU Diaguita, ellos están viendo el motivo del error y en cuanto tengan novedades te estarán respondiendo por acá.

Antes de ejecutar el comando intentá cargar el entorno de toba, tendrías que ejecutar

. entorno_toba_x.y.sh

en la carpeta instalación de toba que es donde se encuentra este archivo, y luego volver a correr el comando