Interactuar con bases de datos utilizando el nodo JavaCompute

Acceda a las bases de datos desde el código Java incluido en el nodo JavaCompute.

Elija entre las siguientes opciones para la interacción de base de datos:

Las bases de datos a las que se accede utilizando MbSQLStatement pueden participar en transacciones coordinadas globalmente. En los demás casos, el acceso a base de datos no se puede coordinar de forma global.

MbSQLStatement

La clase MbSQLStatement proporciona acceso de base de datos transaccional completo utilizando ESQL y ODBC. El gestor de recursos del intermediario coordina el acceso a la base de datos mediante MbSQLStatement. La coordinación global la proporciona WebSphere MQ en plataformas distribuidas y RRS en z/OS. Para obtener información sobre cómo configurar los recursos ODBC necesarios, consulte Habilitación de las conexiones ODBC con las bases de datos.

Cree instancias de la clase MbSQLStatement utilizando el método createSQLStatement() de MbNode, pasando al método el origen de datos ODBC, una sentencia EQSL de intermediario y, de forma opcional, la modalidad de transacción.
  • Si se llama a select() en este objeto, se devolverán los resultados de la consulta.
  • Si se llama a execute() en este objeto, se ejecutará una consulta donde no se devolverán resultados, por ejemplo actualizar una tabla.
El siguiente código Java muestra cómo acceder a una base de datos utilizando MbSQLStatement:
MbMessage newMsg = new MbMessage(assembly.getMessage());
MbMessageAssembly newAssembly = new MbMessageAssembly(assembly, newMsg);

String table = "dbTable";

MbSQLStatement state = createSQLStatement( "dbName", 
	"SET OutputRoot.XMLNS.integer[] = PASSTHRU('SELECT * FROM " + table + "');" );

state.setThrowExceptionOnDatabaseError(false);
state.setTreatWarningsAsErrors(true);
state.select( assembly, newAssembly );

int sqlCode = state.getSQLCode(); 
if(sqlCode != 0)
{
	// Aquí realizar manejo de errores 
}

getOutputTerminal("out").propagate(assembly); 

La API de JDBC

Puede acceder a las API Java estándar en el código que se escribe para los nodos JavaCompute, incluidas las llamadas JDBC. Por ello puede utilizar las API de JDBC para conectarse a una base de datos, grabar en la base de datos o leer de la misma, y desconectarse de la base de datos. El intermediario permite que el código de conexión JDBC invoque los controladores JDBC de tipo 2 y de tipo 4 en este entorno, pero no los proporciona. Debe obtener estos controladores del proveedor de la base de datos.

Si elige utilizar este método para acceder a bases de datos, el intermediario no proporciona ningún soporte para gestionar las transacciones; el código debe gestionar las funciones de confirmación y retrotracción locales de los cambios realizados en la base de datos. El código también debe gestionar el ciclo de vida de la conexión, la afinidad entre hebras de la conexión, y la agrupación de conexiones. Cuando utiliza esta técnica también debe supervisar el acceso a bases de datos para asegurarse de que estas conexiones no causen ninguna interferencia con las conexiones que realiza el intermediario. En concreto, recuerde que los controladores de tipo 2 establecen un puente con una conexión ODBC que podría estar utilizándose en flujos de mensajes que acceden a bases de datos desde ESQL.

SQLJ

SQLJ es una extensión Java que se puede utilizar para incluir sentencias SQL estáticas dentro del código Java. Cree archivos SQLJ utilizando el entorno de trabajo. El gestor de recursos de intermediario no coordina el acceso de base de datos al utilizar SQLJ.
  1. Habilite la función SQLJ en el entorno de trabajo:
    1. Vaya a la Perspectiva de Desarrollo de aplicaciones de intermediario.
    2. Seleccione Ventana > Preferencias.
    3. Expanda Entorno de trabajo.
    4. Seleccione Prestaciones.
    5. Expanda Desarrollador de base de datos.
    6. Seleccione Desarrollo de SQLJ.
    7. Pulse Aceptar.
  2. Cree un nuevo archivo SQLJ dentro de un proyecto Java:
    1. Pulse con el botón derecho del ratón en Proyecto Java en el que desea crear el archivo.
    2. Seleccione Nuevo > Otro.
    3. Expanda Datos.
    4. Expanda SQLJ.
    5. Seleccione Archivo SQLJ.
    6. Pulse Siguiente.
    7. Siga las instrucciones que aparecen en el asistente Asistente Archivo SQLJ nuevo para generar el archivo SQLJ.
Ahora puede hacer referencia a la clase de este archivo SQLJ desde una clase de nodo JavaCompute de este proyecto o de otro proyecto referenciado.
Conceptos relacionados
Referencias de proyecto
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:54:08

ac30494_