Mantener una conexión#
Una vez en marcha, una conexión se cambia, se oculta o se desactiva desde Administración › Conexiones. Esta página explica qué pasa en cada caso, qué hacer si la contraseña guardada ya no se puede leer y cómo se reparten las sesiones con la base de datos.
Antes de empezar#
- Necesita Administración del Sistema.
- Si va a cambiar de base de datos, de motor o de esquemas una conexión con metadata, avise antes a quien lo administra: tendrá que revisarlo.
Cambiar una conexión#
- En Administración › Conexiones, elija la conexión y pulse Editar….
- Cambie lo que necesite. Para conservar la contraseña, deje marcada Dejar la contraseña guardada.
- Pulse Probar si ha cambiado la base de datos, el usuario o los esquemas.
- Pulse Guardar cambios.
Lo que se puede cambiar es lo mismo que en el alta (ver Dar de alta y probar una conexión). Cambiar solo el nombre no reescribe la URL guardada.
Si la conexión ya tiene metadata y cambia la URL, el motor o los esquemas, el diálogo avisa sin impedirlo: «Esta conexión tiene 8 tablas de hechos. Si cambia de base de datos, refresque el catálogo y revise la consistencia del metadata; si cambia de motor, revise también las expresiones, funciones y universos». Después de guardar:
- Refresque el catálogo (ver El catálogo de la base de datos).
- Abra el editor del metadata y mire la franja de consistencia, que dice qué tablas o columnas ya no están.
- Si cambió de motor, revise las expresiones de las métricas, las funciones de las dimensiones y las condiciones de los universos, que se escriben en el SQL del motor.
- Lance Validar contenido para ver qué documentos ya no encajan (ver Uso y validación).
Importante
Cambiar los datos de acceso (la URL, el usuario, la contraseña o los esquemas) renueva el pool de sesiones de la conexión. Las consultas en curso terminan con las sesiones de antes; las nuevas usan las nuevas.
La contraseña que no se puede descifrar#
Las contraseñas de las conexiones se guardan cifradas con la clave de la instalación, ECENTER_SECRETS_KEY. Si esa clave cambia o se pierde, ECenter ya no puede leerlas:
- La conexión sigue en la lista y se puede editar, pero su detalle y su diálogo enseñan «La contraseña guardada no se puede descifrar: vuelva a introducirla».
- Al usarla (probar, leer el catálogo, consultar) da un error que pide volver a introducir la contraseña, y la consola de operación lo da como motivo de su estado.
Para arreglarlo:
- Elija la conexión y pulse Cambiar contraseña… en el aviso. El diálogo se abre con el foco en Contraseña.
- Escriba la contraseña de la base de datos.
- Pulse Guardar cambios.
Si vuelve a poner la clave de antes, las contraseñas que no se han cambiado vuelven a servir: guardar una conexión sin contraseña nueva conserva lo cifrado tal cual.
Atención
Guarde ECENTER_SECRETS_KEY en lugar seguro y con copia. Sin ella hay que volver a escribir la contraseña de todas las conexiones. Ver Configuración.
Solo para quien administra el metadata#
Con Solo para quien administra el metadata marcada, la conexión aparece en la lista con la marca Solo metadata y solo la ofrecen el selector de conexión y el editor del metadata a quienes tienen Administración del Metadata o Administración del Sistema. Los demás usuarios no la ven ni la pueden usar.
Úsela para preparar una conexión nueva o una versión nueva del metadata sin enseñarla. Cuando el diseño esté listo:
- Dé el acceso en Administración › Usuarios y roles (los privilegios de lectura que use el metadata y Acceso a Empowerment Center).
- Edite la conexión, desmarque Solo para quien administra el metadata y pulse Guardar cambios.
Desactivar y activar#
Una conexión desactivada no la puede usar nadie. Para desactivarla:
- Elija la conexión y pulse Desactivar….
- Lea la pregunta: «Nadie podrá usarla: sus libros no se abrirán y lo programado sobre ella fallará hasta que la active. Sus trabajos en marcha se cancelarán».
- Pulse Desactivar conexión.
La lista la da como Desactivada. Su metadata, sus libros y su configuración se conservan. Mientras está desactivada no se puede refrescar su catálogo.
Para volver a usarla, elíjala y pulse Activar. No pregunta nada.
Por qué no se elimina una conexión#
ECenter no elimina conexiones: su metadata, sus libros, sus listas, sus publicaciones y su historial dependen de ella. Desactívela si ya no se usa. Si quiere empezar el diseño de cero, cree otra conexión a la misma base de datos.
El pool de sesiones#
ECenter mantiene, para cada conexión, un conjunto de sesiones abiertas con la base de datos (el pool) que comparten todos los trabajos: los cubos y gráficos de los usuarios, las listas, los formularios, la planificación, las entregas y la API. Se configura para toda la instalación con estas propiedades:
| Propiedad | Por defecto | Qué es |
|---|---|---|
ecenter.datasource.pool.max-size |
5 |
Sesiones como mucho por conexión. |
ecenter.datasource.pool.min-idle |
0 |
Sesiones que se mantienen abiertas sin uso. |
ecenter.datasource.pool.idle-timeout |
5m |
Lo que se mantiene abierta una sesión sin uso antes de cerrarla. |
ecenter.datasource.pool.connection-timeout |
15s |
Lo que espera un trabajo a que quede libre una sesión; después falla. |
ecenter.datasource.pool.retire-timeout |
10m |
Al cambiar los datos de acceso o desactivar la conexión, lo que se espera a que terminen las sesiones en uso antes de cortarlas. |
ecenter.datasource.catalog.refresh-wait |
10s |
Lo que Refrescar catálogo espera a su trabajo antes de seguirlo en segundo plano. |
max-size no debería bajar del número de trabajos que se ejecutan a la vez sobre la conexión (ecenter.jobs.max-concurrent): si no, un trabajo espera una sesión libre hasta connection-timeout y falla. Las consultas de la API ocupan como mucho dos sesiones de cada conexión. Con variables de entorno, la propiedad ecenter.datasource.pool.max-size es ECENTER_DATASOURCE_POOL_MAX_SIZE.
El estado de cada conexión, con las sesiones de su pool en uso y los trabajos que esperan una, se ve en la consola de operación (enlace Su estado y su pool en Operación del detalle). Ver Operación.
Cancelar una consulta en la base de datos#
Cancelar un trabajo en ECenter (desde Actividad, la consola de operación o al detener una ejecución programada) cancela también la sentencia que estaba ejecutando en la base de datos del cliente, y la sesión se descarta del pool. Quien cancela no espera a que la base de datos responda.