Soporte de la capacidad de mantenimiento del cursor para las aplicaciones JDBC

La característica de mantenimiento del cursor puede reducir la carga adicional de interacción de JDBC con la base de datos relacional, lo que ayuda a incrementar el rendimiento de las aplicaciones.

Al activar la capacidad de mantenimiento del cursor, un conjunto de resultados se mantiene disponible más allá de los límites de transacciones para que lo puedan utilizar varias llamadas JDBC. El valor de la capacidad de mantenimiento desencadena que un cursor de base de datos mantenga las filas recién actualizadas activas más allá del compromiso de la transacción que haya generado los nuevos valores o el conjunto de resultados. De ahí que el cursor haga que el conjunto de resultados esté disponible para que lo utilicen las sentencias de una transacción subsiguiente.

Establecimiento de la capacidad de mantenimiento del cursor

Utilice una de las siguientes técnicas para establecer la capacidad de mantenimiento del cursor. Para obtener más detalles, consulte la especificación JDBC 3.0, disponible en el sitio web de Oracle, Inc.: http://www.oracle.com/technetwork/java/index.
  • Especifique el parámetro ResultSet.HOLD_CURSORS_OVER_COMMIT al crear o preparar una sentencia utilizando los métodos createStatement, prepareStatement o prepareCall.
  • Invoque el método de capacidad de mantenimiento en el objeto Connection. El valor de la capacidad de mantenimiento del cursor que se establece con este método se convierte en el valor predeterminado. Si especifica la capacidad de mantenimiento del cursor en el objeto Statement, el valor altera temporalmente el valor que ha especificado en la conexión.

    No puede especificar la capacidad de mantenimiento del cursor en una conexión compartible después de que un segundo descriptor de contexto haga referencia a esa conexión. La invocación del método de capacidad de mantenimiento en este punto genera una excepción. Si desea establecer la capacidad de mantenimiento del cursor en una conexión compartible, invoque el método antes de que se incluya la conexión. De lo contrario, una conexión compartible retiene el mismo valor de la capacidad de mantenimiento que se aplicaba en la inclusión anterior.

  • Compruebe la documentación de la base de datos para ver si el producto da soporte a la capacidad de mantenimiento del cursor como una propiedad de origen de datos. DB2, por ejemplo, responde al desencadenante de la capacidad de mantenimiento si la establece como una propiedad personalizada de origen de datos. Consulte el tema Configuración de propiedades personalizadas para obtener más información.

El impacto de los comportamientos de la conexión y la transacción en el mantenimiento del cursor

El establecimiento de la capacidad de mantenimiento del cursor de WebSphere Application Server genera el siguiente comportamiento de los distintos sucesos de transacciones:
  • Cuando se cierra una conexión, todas las sentencias y conjuntos de resultados se cierran incluso si ha establecido la capacidad de mantenimiento del cursor.
  • Cuando se retrotrae una transacción, todos los conjuntos de resultados se cierran incluso si ha establecido la capacidad de mantenimiento del cursor.
  • Cuando se compromete una transacción local, tanto las conexiones compartibles como las no compartibles pueden tener un conjunto de resultados abierto más allá del límite de una transacción.
  • Cuando se compromete una transacción global, las conexiones no compartibles pueden tener un conjunto de resultados abierto más allá del límite de una transacción. Para las conexiones compartibles, las sentencias y conjuntos de resultados se cierran incluso si ha establecido la capacidad de mantenimiento del cursor. El valor de la capacidad de mantenimiento del cursor no afecta a las conexiones compartibles que participen en transacciones globales.
  • Al finalizar un ámbito de transacción local, se cierran todas las sentencias y conjuntos de resultados para conexiones compartibles ya sea a nivel de método o de sesión de actividad. Las sentencias y conjuntos de resultados de las conexiones no compartibles permanecen abiertos hasta que se llama al método de cierre en la conexión.
Nota: Para una transacción global con una conexión no compartible, la base de datos de programa de fondo es responsable de dar soporte a la capacidad de mantenimiento del cursor.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_cursorhold
File name: rdat_cursorhold.html