Paso de información de cliente a una base de datos

Mediante una función de rastreo o la API de WebSphere Application Server puede pasar información de cliente exclusiva en cada conexión que se origina en el mismo origen de datos.

Acerca de esta tarea

Algunas bases de datos como, por ejemplo, DB2 dan soporte a una propiedad personalizada de origen que activa los servidores de base de datos para extraer información del cliente de las conexiones de WebSphere Application Server. Consulte la documentación de la base de datos para ver si el producto da soporte a esta función qué propiedad requiere el producto. No obstante, tenga en cuenta que estas propiedades implican funciones muy limitadas en el servidor de aplicaciones. Por consiguiente, el gestor de conexiones del servidor de aplicaciones puede presentar los siguientes comportamientos de riesgo cuyo resultado puede ser que la base de datos contenga información errónea sobre el cliente.
  • El gestor de conexiones no puede modificar la información del cliente en el origen de datos o las conexiones obtenidas dinámicamente desde el origen de datos.
  • El gestor de conexiones debe establecer la misma información de cliente en todas las conexiones que se obtienen de dicho origen de datos. Por ejemplo, si establece ApplicationName como parte de la propiedad clientInformation del origen de datos, todas las conexiones del origen de datos tienen el mismo nombre de aplicación.

El servidor de aplicaciones ofrece dos métodos de pasar información de cliente que proporciona la flexibilidad necesaria de gestión de conexiones. Con cualquiera de estos métodos, puede establecer la información de cliente en unas conexiones y no en otras, y puede establecer una información de cliente distinta en distintas conexiones de base de datos del mismo origen de datos.

Procedimiento

Ejemplo: establecimiento de información de cliente con la API setClientInformation(Properties)

Puede establecer la información del cliente de WebSphere Application Server sobre las conexiones para pasar esta información a su base de datos con esta API.

El código de ejemplo siguiente llama a setClientInformation(Properties) en el objeto com.ibm.websphere.rsadapter.WSConnection.

import com.ibm.websphere.rsadapter.WSConnection;
.....
try {
   InitialContext ctx = new InitialContext();
   // Realizar búsqueda de servicio de denominación para obtener objeto DataSource.
   DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/jdbc/myDS");
  }catch (Exception e) {System.out.println("se ha obtenido una excepción durante la búsqueda: " + e);}

  WSConnection conn = (WSConnection) ds.getConnection();
  Properties props = new properties();
  props.setProperty(WSConnection.CLIENT_ID, "user123");
  props.setProperty(WSConnection.CLIENT_LOCATION, "127.0.0.1");
  props.setProperty(WSConnection.CLIENT_ACCOUNTING_INFO, "accounting");
  props.setProperty(WSConnection.CLIENT_APPLICATION_NAME, "appname");
  props.setProperty(WSConnection.CLIENT_OTHER_INFO, "cool stuff");
  conn.setClientInformation(props);
  conn.close()

Parámetros

props contiene la información de cliente que debe pasarse. Valores posibles:
  • WSConnection.CLIENT_ACCOUNTING_INFO
  • WSConnection.CLIENT_LOCATION
  • WSConnection.CLIENT_ID
  • WSConnection.CLIENT_APPLICATION_NAME
  • WSConnection.CLIENT_OTHER_INFO
  • WSConnection.OTHER_CLIENT_TYPE
Consulte la documentación de WSConnection si desea más detalles sobre el cliente del que se pasa información a la base de datos de programa de fondo. Para restablecer la información de cliente, llame al método con un parámetro nulo.

Excepciones

Esta API crea una excepción SQL si la base de datos emite una excepción cuando se establecen los datos.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_clientinfotask
File name: tdat_clientinfotask.html