DB2: Identificar cliente a nivel base de datos

Esta es una entrada express para crear una función en db2 que nos permitirá identificar el nombre del equipo del cliente que accede a la base de datos.

Esto será útil para filtrar información de consultas en función del ordenador (un informe que según donde se visualice muestre x o y) o en nuestro registro de logs que veremos en la próxima entrada. Sigue leyendo y verás que simple

Por si hay algún despistado…

NINGUNA DE LAS ACCIONES QUE VOY A EXPLICAR TIENE SOPORTE POR PARTE DE GEINFOR. MUCHO OJO Y BAJO VUESTRA RESPONSABILIDAD

Para esta función nos vamos a basar en 2 herramientas del DB2:

  • La funcion APPLICATION_ID()
  • La tabla SYSIBMADM.APPLICATIONS

Con la primera sabremos el ID de nuestra conexión, mientras en la segunda podremos ver todas las conexiones activas con la base de datos y filtrando con el valor de la primera obtener la información de la conexión que está actuado.

Nota adicional: Como nota al margen, podemos utilizarlo para ver que aplicaciones acceden a la base de datos (por si aparece algo “extraño)

El código de la función es muy básico

CREATE or replace FUNCTION FX_SIS_EQUIPO() RETURNS VARCHAR(60)

LANGUAGE SQL 
NOT DETERMINISTIC 
READS SQL DATA 
CALLED ON NULL INPUT


BEGIN 
DECLARE ReturnVal VARCHAR(200);
SET ReturnVal = (SELECT CLIENT_NNAME FROM SYSIBMADM.APPLICATIONS
WHERE APPL_ID = (SELECT APPLICATION_ID() FROM SYSIBM.SYSDUMMY1));
RETURN (ReturnVal); 
END @

El resultado nos devolverá el nombre del equipo que invoca la función. Esta es una entrada breve que podréis utilizar de la forma que más os convenga, pero que le sacaremos más partido en la próxima entrada para hacer nuestro propio log

Espero que os sea útil, suscribiros para que os lleguen avisos de la próxima entrada y no dudéis en comentar o mandar un mensaje con cualquier consulta, aportación o inquietud que tengáis…

… y si algo sale mal… La Culpa de Sistemas 😉

Un comentario en “DB2: Identificar cliente a nivel base de datos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.