Transmission des informations sur le client à une base de données

En utilisant une API WebSphere Application Server ou une fonction de trace, vous pouvez envoyer les informations client sur chaque connexion provenant de la même source de données.

Pourquoi et quand exécuter cette tâche

Certaines bases de données, comme DB2, prennent en charge une propriété personnalisée de source de données qui déclenche les serveurs de votre base de données pour extraire des informations client à partir de connexions WebSphere Application Server (consultez la documentation de la base de données pour savoir si le produit prend en charge cette fonction et quelle propriété nécessite le produit). Toutefois, notez que ces propriétés introduisent une fonctionnalité limitée dans le serveur d'applications. En conséquence, le gestionnaire de connexions des serveurs d'applications encourt les risques énumérés ci-après, lesquels peuvent entraîner la transmission d'informations client erronées à la base de données.
  • Le gestionnaire de connexions ne peut pas changer les informations client sur la source de données ou les connexions obtenues de la source de données dynamiquement.
  • Le gestionnaire de connexions doit définir les mêmes informations client sur toutes les connexions obtenues de la source de données. Par exemple, si vous définissezApplicationName dans le cadre de la propriété clientInformation de la source de données, toutes les connexions émises à partir de cette source de données possèdent le même nom d'application.

Le serveur d'applications propose deux méthodes de transmission d'informations client qui offrent toutes deux la flexibilité de gestion de connexion nécessaire. Les deux méthodes sont utilisées pour définir les informations client sur certaines connexions et des informations client différentes sur différentes connexions de base de données depuis la même source de données.

Procédure

Exemple : Paramétrage des informations client à l'aide de setClientInformation(Properties) API

Vous pouvez paramétrer les informations client de WebSphere Application Server sur les connexions de façon à ce que ces informations soient communiquées à votre base de données avec cette API.

Le code présenté ici en exemple appelle setClientInformation(Properties) sur l'objet com.ibm.websphere.rsadapter.WSConnection.

import com.ibm.websphere.rsadapter.WSConnection;
.....
try {
   InitialContext ctx = new InitialContext();
   //Perform a naming service lookup to get the DataSource object.
   DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/jdbc/myDS");
  }catch (Exception e) {System.out.println("got an exception during lookup: " + 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()

Paramètres

props contient les informations client à transmettre. Valeurs possibles :
  • WSConnection.CLIENT_ACCOUNTING_INFO
  • WSConnection.CLIENT_LOCATION
  • WSConnection.CLIENT_ID
  • WSConnection.CLIENT_APPLICATION_NAME
  • WSConnection.CLIENT_OTHER_INFO
  • WSConnection.OTHER_CLIENT_TYPE
Pour plus d'informations sur les informations client qui sont transmises à la base de données dorsale, voir la documentation WSConnection. Pour réinitialiser les informations client, appelez la méthode avec un paramètre de type null.

Exceptions

Cette API génère une exception SQL si la base de données émet une exception lors de la définition des données.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_clientinfotask
Nom du fichier : tdat_clientinfotask.html