Acceso a datos de clientes de aplicaciones

Para acceder directamente a la base de datos desde Java™ Platform, Enterprise Edition (Java EE) Application Client, puede recuperar un objeto javax.sql.DataSource de una referencia a recursos configurada en el descriptor de despliegue cliente. Esta referencia a recursos se configura como parte del descriptor de despliegue de la aplicación cliente y proporciona una referencia a un objeto de origen de datos configurado previamente.

Acerca de esta tarea

Recuerde que el acceso a datos desde un cliente de aplicaciones utiliza funciones de conexión del controlador de JDBC directamente desde el cliente. No saca partido del soporte para agrupación adicional disponible durante la ejecución del servidor de aplicaciones. Por este motivo, se recomienda que la aplicación cliente utilice un enterprise bean que se ejecute en el servidor para realizar el acceso a los datos. Este enterprise bean puede aprovechar la reutilización de la conexión y prestaciones añadidas adicionales del módulo ejecutable del producto.

Procedimiento

  1. Importe los paquetes de la API JDBC y de denominación adecuados:
    import java.sql.*;
    import javax.sql.*;
    import javax.naming.*;
  2. Cree el contexto de denominación inicial:
    InitialContext ctx = new InitialContext();
  3. Utilice el objeto InitialContext para consultar objetos de orígenes de datos de referencias a recursos.
    javax.sql.DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myDS");  
    //donde jdbc/myDS es el nombre de la referencia a recurso
  4. Obtenga java.sql.Connection del origen de datos.
    • Si no se necesitan la contraseña y el ID de usuario para la conexión, o si desea utilizar el usuario predeterminado y la contraseña predeterminada que se especifican al crear el origen de datos en la herramienta ACRCT (Application Client Resource Configuration Tool) en un paso posterior, utilice este enfoque:
      java.sql.Connection conn = ds.getConnection();
    • Si no es así, deberá realizar la conexión con un ID de usuario y contraseña específicos:
      java.sql.Connection conn = ds.getConnection("user", "password"); 
      //donde "user" y "password" son el ID de usuario y la contraseña de la conexión
  5. Ejecute una consulta de base de datos con las interfaces java.sql.Statement, java.sql.PreparedStatement o java.sql.CallableStatement según corresponda.
    Statement stmt = conn.createStatement();
    String query   = "Select FirstNme from " + owner.toUpperCase() + ".Employee where LASTNAME = '" + searchName + "'";
    ResultSet rs   = stmt.executeQuery(query);
    while (rs.next()) {    firstNameList.addElement(rs.getString(1));
    }
  6. Cierre los objetos de base de datos utilizados en el paso anterior, incluidos todos los objetos ResultSet, Statement, PreparedStatement o CallableStatement.
  7. Cierre la conexión. Idealmente, debe cerrar la conexión en un bloque finally de la sentencia try...catch envuelta en la operación de la base de datos. Esta acción asegura que se cierra la conexión aún en el caso de que se emita una excepción.
    conn.close(); 

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_accdfac
File name: tdat_accdfac.html