Clientinformationen an eine Datenbank übergeben

Mit einer API oder einer Tracefunktion von WebSphere Application Server können Sie zu jeder Verbindung, die von derselben Datenquelle aus hergestellt wird, eindeutige Clientinformationen übergeben.

Informationen zu diesem Vorgang

Einige Datenbanken, z. B. DB2, unterstützen eine angepasste Datenquelleneigenschaft, die Ihre Datenbankserver dazu veranlasst, Clientinformationen aus WebSphere Application Server-Verbindungen zu extrahieren. (Schlagen Sie in der Dokumentation zu Ihrer Datenbank nach, um festzustellen, ob Ihr Produkt diese Funktionalität unterstützt und welche Eigenschaft erforderlich ist.) Beachten Sie aber, dass diese Eigenschaften eine sehr eingeschränkte Funktionalität in Application Server einbringen. Folglich können im Verbindungsmanager eines Anwendungsservers folgende Risiken bestehen, die dazu führen können, dass falsche Informationen an die Datenbank übertragen werden.
  • Der Verbindungsmanager kann die Clientinformationen zur Datenquelle bzw. die Verbindungen, die er von dieser Datenquelle erhält, nicht dynamisch ändern.
  • Der Verbindungsmanager muss in allen Verbindungen, die er von einer Datenquelle erhält, dieselben Clientinformationen festlegen. Wenn Sie beispielsweise ApplicationName als Teil der Datenquelleneigenschaft clientInformation festlegen, dann haben alle Verbindungen von dieser Datenquelle denselben Anwendungsnamen.

Application Server bietet zwei Methoden für die Übergabe von Clientinformationen, die die erforderliche Flexibilität für die Verbindungsverwaltung liefern. Mit beiden Methoden haben Sie die Möglichkeit, in bestimmten Verbindungen Clientinformationen festzulegen und in anderen nicht, sowie für unterschiedliche Datenbankverbindungen aus derselben Datenquelle unterschiedliche Clientinformationen festzulegen.

Vorgehensweise

Beispiel: Clientinformationen mit der API "setClientInformation(Properties)" festlegen

Mit dieser API können Sie die WebSphere Application Server-Clientinformationen in Verbindungen festlegen, damit diese Informationen an die Datenbank übermittelt werden.

Der folgende Beispielcode ruft setClientInformation(Properties) für das Objekt com.ibm.websphere.rsadapter.WSConnection auf.

import com.ibm.websphere.rsadapter.WSConnection;
.....
try  {    
   InitialContext ctx = new InitialContext();
   // Namensservice-Lookup zum Abrufen des DataSource-Objekts durchführen.
   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()

Parameter

"props" enthält die zu übergebenden Clientinformationen. Gültige Werte:
  • WSConnection.CLIENT_ACCOUNTING_INFO
  • WSConnection.CLIENT_LOCATION
  • WSConnection.CLIENT_ID
  • WSConnection.CLIENT_APPLICATION_NAME
  • WSConnection.CLIENT_OTHER_INFO
  • WSConnection.OTHER_CLIENT_TYPE
Nähere Einzelheiten zu den Clientinformationen, die an die Back-End-Datenbank übergeben werden, finden Sie in der Dokumentation zu WSConnection. Wenn Sie die Clientinformationen zurücksetzen möchten, rufen Sie die Methode mit einem Nullparameter auf.

Ausnahmen

Diese API erstellt eine SQL-Ausnahme, wenn die Datenbank beim Definieren der Daten eine Ausnahme auslöst.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_clientinfotask
Dateiname:tdat_clientinfotask.html