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
- 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
- WSConnection.CLIENT_ACCOUNTING_INFO
- WSConnection.CLIENT_LOCATION
- WSConnection.CLIENT_ID
- WSConnection.CLIENT_APPLICATION_NAME
- WSConnection.CLIENT_OTHER_INFO
- WSConnection.OTHER_CLIENT_TYPE
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.