Suministro de información de cliente ampliada al origen de datos con métodos solo de IBM Data Server Driver for JDBC and SQLJ
Un conjunto de métodos sólo de IBM Data Server Driver for JDBC and SQLJ proporciona información adicional sobre el cliente al servidor. Esta información se puede utilizar con fines contables, de gestión de la carga de trabajo o de depuración.
Acerca de esta tarea
Se envía información ampliada sobre el cliente al servidor de bases de datos cuando la aplicación realiza una acción que accede al servidor, tal como ejecutar SQL.
En la IBM Data Server Driver for JDBC and SQLJ versión 4.0 o posterior, los IBM Data Server Driver for JDBC and SQLJ -únicos métodos están obsoletos. En su lugar debe utilizar java.sql.Connection.setClientInfo.
Los IBM Data Server Driver for JDBC and SQLJ -únicos métodos se enumeran en la siguiente tabla.
| Método | Información proporcionada |
|---|---|
| setDB2ClientAccountingInformation | Información contable |
| setDB2ClientApplicationInformation | Nombre de la aplicación que está trabajando con una conexión |
| setDB2ClientDebugInfo | El atributo de conexión CLIENT DEBUGINFO para el depurador unificado |
| setDB2ClientProgramId | Serie de caracteres especificada por el emisor que le permite identificar qué programa está asociado a una determinada sentencia de SQL. setDB2ClientProgramId no se aplica a los servidores de datos de los sistemas Db2 en Linux®, UNIX y Windows. |
| setDB2ClientUser | Nombre de usuario para una conexión |
| setDB2ClientWorkstation | Nombre de estación de trabajo del cliente para una conexión |
Procedimiento
Para definir la información ampliada sobre el cliente, siga estos pasos:
- Cree un Connection.
- Emitir el objeto java.sql.Connection a un com.ibm.db2.jcc.DB2Connection.
- Llame a cualquiera de los métodos que se muestran en la Tabla 1.
- Ejecute una sentencia de SQL para hacer que la información se envíe al servidor de datos.
Ejemplo
public class ClientInfoTest {
public static void main(String[] args) {
String url = "jdbc:db2://sysmvs1.stl.ibm.com:5021/san_jose";
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
String user = "db2adm";
String password = "db2adm";
Connection conn = DriverManager.getConnection(url, 1
user, password);
if (conn instanceof DB2Connection) {
DB2Connection db2conn = (DB2Connection) conn; 2
db2conn.setDB2ClientUser("Michael L Thompson"); 3
db2conn.setDB2ClientWorkstation("sjwkstn1");
// Execute SQL to force extended client information to be sent
// to the server
conn.prepareStatement("SELECT * FROM SYSIBM.SYSDUMMY1"
+ "WHERE 0 = 1").executeQuery(); 4
}
} catch (Throwable e) {
e.printStackTrace();
}
}
}