< Anterior | Siguiente >

Lección 3: Configuración de pureQuery Runtime para que ejecute estáticamente sentencias SQL

Después de capturar sentencias SQL de una aplicación que tiene habilitada la optimización de clientes de pureQuery, configure pureQuery Runtime para que ejecute estáticamente sentencias SQL en una base de datos DB2.

Antes de empezar

Debe disponer de una conexión activa con la base de datos SAMPLE. Si no tiene una conexión activa, el entorno de trabajo le solicitará una conexión cuando realice la operación de enlace.

El archivo pureQueryXML que ha creado en la lección anterior contiene un único conjunto de sentencias. Si realiza el proceso de enlace con el archivo, crea un único conjunto de paquetes en la base de datos de destino. En esta lección, actualizará el nombre del conjunto de sentencias en el archivo pureQueryXML. Después, creará un único conjunto de paquetes desde el archivo pureQueryXML y enlazará estos paquetes.

Después de realizar el proceso de enlace en la base de datos de destino, establecerá las propiedades de pureQuery Runtime para especificar que pureQuery ejecute estáticamente las sentencias emitidas por la aplicación.

Al actualizar el archivo pureQueryXML, el entorno de trabajo configura el archivo pureQueryXML según necesita. El proceso de configuración gestiona las sentencias SQL en el archivo pureQueryXML y añade la información necesaria para el proceso de enlace. El entorno de trabajo utiliza las opciones definidas en el archivo Default.genProps para configurar el archivo pureQueryXml capture.pdqxml.

Actualización del archivo pureQueryXML y realización del proceso de enlace con el archivo

Utilice el entorno de trabajo para actualizar el archivo pureQueryXML que contiene las sentencias SQL capturadas. Después enlace las sentencias SQL del archivo ejecutando el programa de utilidad StaticBinder.

Para actualizar el archivo pureQueryXML y enlazar las sentencias SQL del archivo:

  1. En la vista Explorador de paquetes, efectúe una doble pulsación en el archivo dataAccessFolder\Default.genProps en el proyecto Java pq-tutorial.
  2. Cambie el valor de la opción -rootPkgName por aatest
    C:\test\pq-tutorial\dataAccessFolder\capture.pdqxml= -rootPkgName aatest

    La opción -rootPkgName especifica la serie base que se utiliza para crear conjuntos de sentencias con nombre en el archivo pureQueryXML. Los nombres del conjunto de sentencias del archivo pureQueryXML son las series base para los nombres de los paquetes que se crean en la base de datos de destino.

  3. Guarde el archivo. Pulse para el mensaje que aparece y confirmar la recompilación del proyecto.
  4. Configure el archivo pureQueryXML con un nuevo nombre de conjunto de sentencias.
    1. Abra el archivo capture.pdqxml en el editor de pureQueryXML.

      En el Explorador de paquetes, efectúe una doble pulsación en el archivo dataAccessFolder\capture.pqdxml para abrirlo en el editor de pureQueryXML.

    2. Suprima los nombres de conjunto de sentencias del archivo.

      En el editor de pureQueryXML, resalte el nombre de sentencia pq-tut y suprima el texto. A continuación, resalte el nombre de sentencia pq-tutA y suprima el texto.

    3. Cierre y guarde el archivo.
    4. Abra el archivo de nuevo.

    Al guardar el archivo, el entorno de trabajo ha configurado el archivo pureQueryXML. El proceso de configuración ha creado un conjunto de sentencias denominado aatestA y otro denominado aatestB que contiene las sentencias SQL. Los nombres del conjunto de sentencias se basan en aatest, el valor de la opción -rootPkgName especificada en el archivo Default.genProps.

    Figura 1. Archivo pureQueryXML configurado con el nombre del conjunto de sentencias aatestA
    Archivo capture.pdqxml configurado en el editor de pureQueryXML.
  5. Enlace las sentencias SQL del archivo pureQueryXML a la base de datos SAMPLE.
    1. En la vista Explorador de paquetes, pulse con el botón derecho del ratón el archivo capture.pdqxml y pulse Desarrollo de acceso a datos > Enlazar. Se abrirá el cuadro de diálogo Seleccionar conexión.
    2. Seleccione la conexión SAMPLE y pulse Finalizar.
    El entorno de trabajo ejecuta el programa de utilidad StaticBinder y envía la salida de ese programa de utilidad a la vista Consola. La salida es similar al ejemplo siguiente:
    ================================================================================
    
    El programa de utilidad StaticBinder está iniciando la operación de enlace para el archivo pureQueryXml
       'C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml'.
    
    Iniciando el proceso de opciones:
       -url "jdbc:db2://localhost:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;" 
       -username "*****" -password "*****" 
       -pureQueryXml "C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml"
    
    El programa de utilidad StaticBinder ha enlazado correctamente el paquete 'aatestA1' para el nivel de aislamiento 'UR'.
    El programa de utilidad StaticBinder ha enlazado correctamente el paquete 'aatestA2' para el nivel de aislamiento 'CS'.
    El programa de utilidad StaticBinder ha enlazado correctamente el paquete 'aatestA3' para el nivel de aislamiento 'RS'.
    El programa de utilidad StaticBinder ha enlazado correctamente el paquete 'aatestA4' para el nivel de aislamiento 'RR'.
    
    La operación de enlace se ha efectuado correctamente para
      'C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml'.
    
    ================================================================================
    
    Resultados de la actividad del programa de utilidad StaticBinder:
    
        Número de elementos para los que la operación de enlace ha sido SATISFACTORIA: 1
    
    
    El enlace para el archivo XML capture.pdqxml que hace uso de la conexión SAMPLE en el proyecto pq-tutorial
    se ha realizado satisfactoriamente.

    El entorno de trabajo ha ejecutado el programa de utilidad StaticBinder de pureQuery para crear un único conjunto de paquetes y ha ejecutado los paquetes en la base de datos. El programa de utilidad StaticBinder de pureQuery ha creado los paquetes basados en la información del archivo capture.pdqxml configurado y las opciones de enlace StaticBinder predeterminadas.

    El nombre del conjunto de paquetes se basa en el nombre del conjunto de sentencias del archivo pureQueryXML. StaticBinder ha creado cuatro paquetes. Como valor predeterminado, StaticBinder crea un paquete para cada uno de los niveles de aislamiento DB2 UR, CS, RS y RR.

  6. Localice los paquetes en el Explorador de orígenes de datos de la vista Resumen de SQL.
    1. En la vista Resumen de SQL, abra la ventana Paquetes de base de datos pulsando el separador Paquetes de base de datos en la parte inferior de la vista.
    2. Pulse con el botón derecho del ratón el primer nombre de paquete y seleccione Buscar en explorador de orígenes de datos.

      El Explorador de orígenes de datos se abre y expande las carpetas de la conexión SAMPLE y resalta los paquetes.

      Los nombres de paquete se basan en aatestA, que es el nombre del conjunto de sentencias en el archivo pureQueryXML.

Configuración de pureQuery Runtime para que ejecute estáticamente sentencias SQL

Actualice las propiedades de pureQuery Runtime para que la aplicación ejecute estáticamente las sentencias SQL.

Para configurar pureQuery Runtime para que ejecute estáticamente las sentencias SQL:

  1. En la vista Explorador de paquetes, efectúe una doble pulsación en el archivo pdq.properties.

    El archivo se abre en el editor de propiedades de PDQ.

  2. Actualice el archivo de propiedades de pureQuery Runtime.
    • Cambie el valor de la propiedad captureMode por OFF
    • Añada la propiedad capturedOnly con el valor TRUE
    • Cambie el valor de la propiedad executionMode por STATIC
    El archivo actualizado contiene las propiedades siguientes:
    pdq.captureMode=OFF
    pdq.capturedOnly=TRUE
    pdq.executionMode=STATIC
    pdq.pureQueryXml=dataAccessFolder/capture.pdqxml
  3. Guarde y cierre el archivo.
  4. Ejecute la aplicación.

    Pulse con el botón derecho del ratón el archivo MySample.java y pulse Ejecutar como > Aplicación Java.

    La aplicación se ejecuta y devuelve los resultados en la ventana Consola.

Prueba de la asignación entre el archivo pureQueryXML y los paquetes de la base de datos

Al cambiar la información del archivo pureQueryXML, la asignación entre las sentencias SQL del archivo y los paquetes de la base de datos que ejecutan estáticamente las sentencias SQL también cambia. Si la asignación cambia, debe crear nuevos paquetes en la base de datos y enlazar los paquetes.

Para probar la asignación entre el archivo pureQueryXML y los paquetes de la base de datos:

  1. En el archivo pureQueryXML, cambie el nombre del conjunto de sentencias aatest por aatut
    1. En el Explorador de paquetes, efectúe una doble pulsación en capture.pdqxml.

      El archivo se abre en el editor de pureQueryXML.

    2. En el editor de pureQueryXML, pulse en ambos nombres de conjunto de sentencias y cambie los nombres a aatutA y aatutB.
    3. Guarde y cierre el archivo.

      Pulse Aceptar para confirmar que se guarden los cambios.

  2. Ejecute la aplicación.

    En la ventana Consola, la aplicación devuelve un error de paquete no encontrado (SQLCODE=-805).

    Los paquetes siguen en la base de datos, pero pureQuery Runtime no puede encontrarlos porque el nombre del conjunto de sentencias del archivo pureQueryXML ha cambiado. pureQuery Runtime utiliza el nombre del conjunto de sentencias para determinar el nombre del paquete.

  3. Enlace las sentencias SQL del archivo pureQueryXML actualizado.
    1. Pulse con el botón derecho del ratón el archivo capture.pdqxml y pulse Desarrollo de acceso a datos > Enlazar.
    2. En el cuadro de diálogo Seleccionar conexión, seleccione la base de datos SAMPLE y pulse Finalizar.

    La información de enlace aparece en la ventana Consola.

    El programa de utilidad StaticBinder utiliza el nombre del conjunto de sentencias actualizado en el archivo pureQueryXML para crear nuevos paquetes en la base de datos. Los paquetes que ha creado previamente basados en el nombre de sentencia aatestA no se descartan.

  4. Ejecute la aplicación.

    En el Explorador de paquetes, pulse con el botón derecho del ratón en el archivo MySample.java y pulse Ejecutar como > Aplicación Java.

    La aplicación se ejecuta y devuelve los resultados en la ventana Consola.

Punto de comprobación de la lección

En el entorno de trabajo, ha configurado una aplicación que tiene habilitada la optimización de clientes de pureQuery para ejecutar estáticamente las sentencias SQL.
En el entorno de trabajo, ha realizado las tareas siguientes:
  • Ha actualizado un archivo pureQueryXML y confirmado que el entorno de trabajo ha configurado el archivo.
  • Ha ejecutado StaticBinder desde el entorno de trabajo para crear paquetes y enlazarlos a una base de datos.
  • Ha visualizado el archivo pureQueryXML en el editor de pureQueryXML.
  • Ha establecido las propiedades de pureQuery Runtime para que ejecute estáticamente las sentencias SQL que la aplicación ha emitido.
  • Ha buscado paquetes en una base de datos de DB2.
  • Ha actualizado el archivo pureQueryXML y ha vuelto a enlazar las sentencias SQL en la base de datos.
< Anterior | Siguiente >

Comentarios