< Anterior | Siguiente >

Lección 2: Configuración del entorno pureQuery fuera del entorno de trabajo

Configure el entorno de trabajo en el sistema para que ejecute la aplicación Java™ con la optimización de clientes de pureQuery habilitada.
Antes de empezar
Asegúrese de que tiene instalado el software siguiente en el sistema:
  • Java Developer Kit versión 1.5 o posterior
  • IBM® Data Server Driver para JDBC y SQLJ Versión 3.57
  • pureQuery Runtime versión 2.2.1

En la lección anterior, exportó la aplicación Java al directorio C:\pureQuery-test del sistema y ejecutó la aplicación en la base de datos SAMPLE de DB2.

En esta lección, configurará el entorno Java y habilitará la aplicación con la optimización de clientes de pureQuery. Capturará sentencias SQL de la aplicación y configurará pureQuery Runtime y la base de datos de destino para ejecutar estáticamente las sentencias SQL emitidas por la aplicación.

  1. Si ha cerrado la ventana de mandatos en la lección anterior, abra una nueva y establezca la variable de entorno CLASSPATH para la ventana.
    1. Abra una ventana de indicador de mandatos y establezca el directorio en c:\pureQuery-test.

      En la ventana, especifique el mandato cd c:\pureQuery-test.

    2. Añada los archivos a la variable CLASSPATH utilizando el mandato SET.
      Por ejemplo, si los archivos JAR del controlador de base de datos DB2 están instalados en el directorio C:\DB2\drivers, añada los archivos a la variable CLASSPATH utilizando el siguiente mandato en la ventana de indicador de mandatos. Especifique el siguiente mandato SET en una única línea.
      set CLASSPATH=C:\DB2\drivers\db2jcc_license_cu.jar;C:\DB2\drivers\db2jcc.jar;
          C:\pureQuery-test\MyTestApp.jar;%CLASSPATH%;
      Consejo: El directorio predeterminado de los archivos JAR del controlador de base de datos DB2 es C:\Archivos de programa\IBM\SQLLIB\java.
  2. Añada la ubicación de los archivos JAR de pureQuery Runtime a la variable CLASSPATH utilizando el mandato SET.
    Por ejemplo, si los archivos JAR de pureQuery están instalados en el directorio C:\pureQuery, añada los archivos a la variable CLASSPATH emitiendo el siguiente mandato:
    set CLASSPATH=C:\pureQuery\pdq.jar;C:\pureQuery\pdqmgmt.jar;.;%CLASSPATH%;
    Con los archivos JAR de pureQuery Runtime en la variable CLASSPATH de la aplicación, ésta puede utilizar las prestaciones de pureQuery Runtime, entre ellas la optimización de clientes de pureQuery.
  3. Cree un archivo de propiedades de pureQuery Runtime que se utilice al ejecutar una aplicación que tiene habilitada la optimización de clientes de pureQuery.
    1. Cree el archivo de propiedades mytest.properties en el directorio de prueba.
    2. Añada las propiedades de pureQuery al archivo.

      Con un editor de texto, añada las siguientes propiedades de pureQuery Runtime al archivo mytest.properties:

      pdq.captureMode=ON
      pdq.executionMode=DYNAMIC
      pdq.pureQueryXml=./mytestsql.pdqxml
    3. Guarde el archivo.

    Las propiedades de pureQuery Runtime especifican que pureQuery Runtime ejecute dinámicamente las sentencias SQL y capture las sentencias SQL en el archivo pureQueryXML mytestsql.pdqxml.

  4. Ejecute la aplicación dos veces con la optimización de clientes de pureQuery habilitada para capturar las sentencias SQL.

    Puede especificar las propiedades de pureQuery Runtime de distintas maneras. Todas las tareas siguientes ejecutan la aplicación con las propiedades establecidas para capturar las sentencias SQL en el archivo pureQueryXML mytest.pdqxml.

    Realice una de las siguientes tareas:

    • Ejecute la aplicación y especifique la propiedad finalRepositoryProperties de pureQuery Runtime con la opción pdqProperties. Especifique cada uno de los dos mandatos Java siguientes en una única línea independiente en la ventana de indicador de mandatos:
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample 1

      La propiedad finalRepositoryProperties de pureQuery Runtime especifica que pureQuery Runtime recupere las propiedades de pureQuery del archivo mytest.properties.

    • Ejecute la aplicación y especifique tres propiedades de pureQuery Runtime con la opción pdqProperties. En la ventana de indicador de mandatos, especifique cada uno de los dos mandatos Java siguientes en una única línea independiente. No escriba espacios entre las propiedades de pureQuery Runtime.
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample 1
    • Ejecute la aplicación con la configuración del archivo de propiedades predeterminado pdq.properties.
      Haga una copia del archivo de propiedades de pureQuery mytest.properties denominado C:\pureQuery-test\pdq.properties. Después especifique los dos mandatos Java siguientes en la ventana de indicador de mandatos:
      java myTestApp.MySample
      
      java myTestApp.MySample 1

      pureQuery Runtime busca los valores de propiedades en un conjunto de ubicaciones específicas en un orden en particular. Las ubicaciones de búsqueda incluyen los directorios CLASSPATH de la aplicación para el archivo pdq.properties.

      Si pureQuery Runtime no encuentra un valor para una propiedad, utiliza el valor predeterminado para esa propiedad. El valor predeterminado para las propiedades executionMode y captureMode es ejecutar las sentencias dinámicamente y no capturar sentencias SQL.

    La aplicación se ejecuta y pureQuery Runtime captura las sentencias SQL en el archivo pureQueryXML mytestsql.pdqxml.

  5. Ejecute el programa de utilidad Configure de pureQuery para configurar el archivo pureQueryXML.
    Entre el mandato siguiente en una única línea, en la ventana del indicador de mandatos:
    java com.ibm.pdq.tools.Configure -pureQueryXml mytestsql.pdqxml
       -rootPkgName MYTEST -validateXml TRUE
    El programa de utilidad Configure valida y configura el archivo pureQueryXML. El valor de la opción -rootPkgName es MYTEST, los paquetes creados desde este archivo pureQueryXML tendrán nombres diferentes de los paquetes creados desde el entorno de trabajo.
  6. Ejecute el programa de utilidad StaticBinder de pureQuery para realizar la operación de enlace en la base de datos.
    Especifique el mandato en una única línea, en la ventana de indicador de mandatos. Sustituya los valores para las opciones -url, -user y -password por los valores para conectarse a la base de datos SAMPLE.
    java com.ibm.pdq.tools.StaticBinder
      -url jdbc:db2://localhost:50000/SAMPLE -user user01 -password myPass
       -pureQueryXml mytestsql.pdqxml
    Nota: Para visualizar información más detallada acerca del proceso de enlace, puede añadir la opción -showDetails true al mandato.
  7. Actualice el archivo de propiedades de pureQuery Runtime mytest.properties.
    • Cambie el valor de la propiedad captureMode por OFF
    • Cambie el valor de la propiedad executionMode por STATIC
    • Añada la propiedad allowDynamicSQL con el valor FALSE
    El archivo actualizado contiene las propiedades siguientes:
    pdq.captureMode=OFF
    pdq.executionMode=STATIC
    pdq.allowDynamicSQL=FALSE
    pdq.pureQueryXml=./mytestsql.pdqxml

    Los cambios configuran pureQuery Runtime para que ejecute estáticamente las sentencias SQL de la aplicación y para que ejecute las sentencias SQL que se encuentran en el archivo pureQueryXML mytestsql.pdqxml.

  8. Ejecute la aplicación con la optimización de clientes de pureQuery habilitada y la configuración del archivo mytest.properties.
    Entre el mandato siguiente en una única línea, en la ventana del indicador de mandatos:
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample 2

    Cuando se utiliza el valor 2, la aplicación emite una sentencia SQL que no está en el archivo pureQueryXML. La aplicación se ejecuta y recibe un error que indica que la sentencia SQL no se ha encontrado en el archivo pureQueryXML.

  9. Ejecute una aplicación con la misma configuración de pureQuery Runtime y emita una sentencia que se encuentre en el archivo pureQueryXML.
    Entre el mandato siguiente en una única línea, en la ventana del indicador de mandatos:
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample
    La aplicación se ejecuta y ejecuta estáticamente la sentencia SQL.

Punto de comprobación de la lección

En esta lección, ha habilitado la aplicación Java con la optimización de clientes de pureQuery, y ha configurado la aplicación y la base de datos SAMPLE para que ejecuten estáticamente las sentencias SQL.
Ha completado las tareas siguientes:
  • Ha actualizado la variable CLASSPATH con los archivos JAR de pureQuery Runtime.
  • Ha creado un archivo de propiedades de pureQuery Runtime y ha establecido las propiedades de pureQuery.
  • Ha ejecutado la aplicación Java y ha capturado las sentencias SQL que la aplicación ha emitido.
  • Ha ejecutado los programas de utilidad Configure y StaticBinder de pureQuery para procesar el archivo pureQueryXML y ha realizado una operación de enlace con el archivo pureQueryXML.
  • Ha ejecutado la aplicación Java y ha ejecutado estáticamente una sentencia SQL.

En esta lección, ha configurado un archivo pureQueryXML que contenía consultas SQL. Cuando configure un archivo pureQueryXML que contenga sentencias DDL, estas sentencias, a excepción de DECLARE GLOBAL TEMPORARY TABLE, se mueven a otro archivo. Por ejemplo, ha capturado una sentencia SQL que ha creado una tabla en el archivo pureQueryXML. Cuando configura el archivo, la sentencia que crea una tabla se mueve a otro archivo. Para obtener información acerca de cómo el programa de utilidad Configure de pureQuery maneja las sentencias DDL, consulte Programa de utilidad Configure.

En un proyecto Java del entorno de trabajo con el soporte para pureQuery habilitado, el proceso de configuración del archivo pureQueryXML maneja las sentencias DDL de la misma manera que el programa de utilidad Configure.

Para obtener información acerca del establecimiento de las propiedades de pureQuery Runtime, consulte el orden de precedencia de las ubicaciones en las que se pueden establecer propiedades para la optimización de clientes.

Para obtener información acerca de la propiedad finalRepositoryProperties de pureQuery Runtime, consulte la propiedad finalRepositoryProperties.

< Anterior | Siguiente >

Comentarios