martes 6 de enero de 2009

Cognos Query Cache

Hace un par de años, cuando instalé por primera vez la versión 8 de Cognos, me encontré con algunas sorpresas. Entre ellas ésta del Query Cache, que puede provocar algunas dudas si no se usa correctamente.

Por default, Cognos configura este cache para que sea refrescado cada cinco consultas, es decir, que si ejecutamos un reporte e inmediatamente cambiamos los datos, no se verá reflejado dicho cambio sino hasta después de un tiempo o bien, después que se ejecuten 5 consultas.

Esto por supuesto que puede ajustarse a nuestras necesidades. Hay tres opciones:
  • Cambiar manualmente las propiedades del Query en Report Studio (Query Properties --> Use Local Cache -> No)
  • Cambiar manualmente las propiedades del paquete en Framework Manager (Edit Governors -> -> desactivar)
  • Modificar la configuración de Cognos

De las tres opciones, únicamente voy a explicar la tercera, puesto que las otras dos requieren procesos manuales y no soy partidario de ellos.

Es posible modificar la configuración de Cognos, en un archivo XML llamado CQEConfig.xml y después de reiniciar el servicio, automáticamente todos los queries, los nuevos y los que hayan sido anteriormente publicados, tomarán este valor.

Estos son los pasos para hacerlo:
  1. Abrir el directorio cognos\c8\configuration
  2. Localizar el archivo CQEConfig.xml.sample y hacer una copia por seguridad
  3. Cambiar el nombre del archivo de CQEConfig.xml.sample a CQEConfig.xml
  4. Abrir el archivo con un editor de texto
  5. Localizar un apartado llamado queryReuse y cambiar el valor por default de 5 a 0
  6. Guardar el archivo y cerrarlo
  7. Reiniciar el servicio
Ahora verán que cualquier cambio que se haga en la base de datos, se verá reflejado de inmediato en Cognos.