< Précédent | Suivant >

Leçon 2 : Configuration de votre environnement pureQuery en dehors de l'environnement du plan de travail

Configurez l'environnement sur votre ordinateur afin qu'il exécute votre application Java avec l'optimisation client pureQuery activée.
Avant de commencer
Assurez-vous que les logiciels suivants sont installés sur votre système :
  • Java developer kit version 1.5 ou ultérieure
  • IBM® Data Server Driver for JDBC and SQLJ Version 3.57
  • pureQuery Runtime version 2.2.1

Dans la leçon précédente, vous avez exporté votre application Java vers le répertoire C:\pureQuery-test de votre ordinateur et exécuté l'application sur une base de données SAMPLE DB2.

Dans cette leçon, vous configurerez votre environnement Java et activerez votre application avec l'optimisation client pureQuery. Vous capturez les instructions SQL à partir de votre application et configurez pureQuery Runtime et la base de données cible pour une exécution statique des instructions SQL émises par votre application.

  1. Si vous avez fermé la fenêtre de commande à la leçon précédente, ouvrez une nouvelle fenêtre de commande et définissez la variable d'environnement CLASSPATH pour la fenêtre.
    1. Ouvrez une fenêtre d'invite de commande et définissez le répertoire sur c:\pureQuery-test.

      Dans la fenêtre, entrez la commande cd c:\pureQuery-test.

    2. Ajoutez les fichiers à CLASSPATH en utilisant la commande SET.
      Par exemple, si les fichiers JAR du pilote de base de données DB2 sont installés dans le répertoire C:\DB2\drivers, ajoutez les fichiers au CLASSPATH en utilisant la commande suivante dans la fenêtre d'invite de commande. Saisissez la commande SET suivante sur une seule ligne.
      set CLASSPATH=C:\DB2\drivers\db2jcc_license_cu.jar;C:\DB2\drivers\db2jcc.jar;
          C:\pureQuery-test\MyTestApp.jar;%CLASSPATH%;
  2. Ajoutez l'emplacement des fichiers JAR de pureQuery Runtime à CLASSPATH en utilisant la commande SET.
    Par exemple, si les fichiers JAR pureQuery sont installés dans le répertoire C:\pureQuery, ajoutez les fichiers à CLASSPATH en émettant la commande suivante :
    set CLASSPATH=C:\pureQuery\pdq.jar;C:\pureQuery\pdqmgmt.jar;.;%CLASSPATH%;
    Lorsque les fichiers JAR de pureQuery Runtime se trouvent dans la CLASSPATH de l'application, votre application peut utiliser les fonctionnalités de pureQuery Runtime, notamment l'optimisation client pureQuery.
  3. Créez un fichier de propriétés pureQuery Runtime utilisé lors de l'exécution d'une application activée avec l'optimisation client pureQuery.
    1. Créez le fichier de propriétés mytest.properties dans votre répertoire de test.
    2. Ajoutez les propriétés pureQuery au fichier.

      A l'aide d'un éditeur de texte, ajoutez les propriétés pureQuery Runtime suivantes dans le fichier mytest.properties :

      pdq.captureMode=ON
      pdq.executionMode=DYNAMIC
      pdq.pureQueryXml=./mytestsql.pdqxml
    3. Sauvegardez le fichier.

    Les propriétés pureQuery Runtime spécifient que pureQuery Runtime exécutera les instructions SQL en mode dynamique et capturera les instructions SQL dans le fichier pureQueryXML mytestsql.pdqxml.

  4. Exécutez l'application deux fois avec l'optimisation client pureQuery activée afin de capturer les instructions SQL.

    Vous pouvez spécifier les propriétés pureQuery Runtime de différentes manières. Chacune des tâches suivantes exécute l'application avec les propriétés définies pour capturer les instructions SQL dans le fichier pureQueryXML mytest.pdqxml.

    Effectuez l'une des opérations suivantes :

    • Exécutez l'application et spécifiez la propriété pureQuery Runtime finalRepositoryProperties avec l'option pdqProperties. Saisissez chacune des deux commandes Java suivantes sur une seule ligne distincte dans la fenêtre d'invite de commande :
      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 propriété pureQuery Runtime finalRepositoryProperties spécifie que pureQuery Runtime récupérera les propriétés pureQuery à partir du fichier mytest.properties.

    • Exécutez l'application et spécifiez les propriétés pureQuery Runtime avec l'option pdqProperties. Dans la fenêtre d'invite de commande, entrez chacune des deux commandes Java suivantes sur une seule ligne distincte. N'ajoutez pas d'espaces entre les propriétés 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
    • Exécutez l'application avec la configuration du fichier de propriétés par défaut pdq.properties.
      Faites une copie du fichier de propriétés pureQuery Runtime mytest.properties nommé C:\pureQuery-test\pdq.properties. Entrez ensuite les deux commandes Java suivantes dans la fenêtre d'invite de commande :
      java myTestApp.MySample
      
      java myTestApp.MySample 1

      pureQuery Runtime recherche les valeurs des propriétés dans un ensemble d'emplacements spécifiques dans un ordre particulier. Les emplacements de recherche comprennent les répertoires CLASSPATH de l'application pour le fichier pdq.properties.

      Si pureQuery Runtime ne trouve pas la valeur d'une propriété, il utilise la valeur par défaut pour cette propriété. La valeur par défaut des propriétés executionMode et captureMode consiste à exécuter les instructions en mode dynamique et à ne pas capturer les instructions SQL.

    L'application s'exécute et pureQuery Runtime capture les instructions SQL dans le fichier pureQueryXML mytestsql.pdqxml.

  5. Exécutez l'utilitaire pureQuery Configure pour configurer le fichier pureQueryXML.
    Entrez la commande suivante sur une seule ligne dans la fenêtre d'invite de commande :
    java com.ibm.pdq.tools.Configure -pureQueryXml mytestsql.pdqxml
       -rootPkgName MYTEST -validateXml TRUE
    L'utilitaire Configure valide et configure le fichier pureQueryXML. La valeur de l'option -rootPkgName est MYTEST, les packages créés à partir de ce fichier pureQueryXML porteront des noms différents de ceux des packages que vous avez créés à partir du plan de travail.
  6. Exécutez l'utilitaire pureQuery StaticBinder pour procéder à l'opération de liaison dans la base de données.
    Entrez la commande sur une seule ligne dans la fenêtre d'invite de commande. Remplacez les valeurs des options -url, -user et -password par les valeurs vous permettant de vous connecter à votre base de données SAMPLE.
    java com.ibm.pdq.tools.StaticBinder
      -url jdbc:db2://localhost:50000/SAMPLE -user user01 -password myPass
       -pureQueryXml mytestsql.pdqxml
    Remarque : Pour afficher des informations plus détaillées à propos du processus de liaison, vous pouvez ajouter l'option -showDetails true à la commande.
  7. Mettez à jour le fichier de propriétés pureQuery Runtime mytest.properties.
    • Modifiez la valeur de la propriété captureMode en la remplaçant par OFF
    • Modifiez la valeur de la propriété executionMode en la remplaçant par STATIC
    • Ajoutez la propriété allowDynamicSQL avec la valeur FALSE
    Le fichier mis à jour contient les propriétés suivantes :
    pdq.captureMode=OFF
    pdq.executionMode=STATIC
    pdq.allowDynamicSQL=FALSE
    pdq.pureQueryXml=./mytestsql.pdqxml

    Les changements configurent pureQuery Runtime pour l'exécution statique des instructions SQL de votre application et pour l'exécution des instructions SQL qui se trouvent dans le fichier pureQueryXML mytestsql.pdqxml.

  8. Exécutez l'application avec l'optimisation client pureQuery activée et la configuration du fichier mytest.properties.
    Entrez la commande suivante sur une seule ligne dans la fenêtre d'invite de commande :
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample 2

    Lorsque vous utilisez la valeur 2, l'application émet une instruction SQL qui ne se trouve pas dans le fichier pureQueryXML. L'application s'exécute et vous obtenez un message d'erreur indiquant que l'instruction SQL est introuvable dans le fichier pureQueryXML.

  9. Exécutez l'application avec la même configuration pureQuery Runtime et émettez une instruction figurant dans le fichier pureQueryXML.
    Entrez la commande suivante sur une seule ligne dans la fenêtre d'invite de commande :
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample
    L'application s'exécute et exécute l'instruction SQL en mode statique.

Point de contrôle de la leçon

Dans cette leçon, vous avez activé votre application Java avec l'optimisation client pureQuery et vous avez configuré votre application et la base de données SAMPLE pour l'exécution statique des instructions SQL.
Vous avez réalisé les tâches suivantes :
  • Mis à jour votre CLASSPATH avec les fichiers JAR de pureQuery Runtime.
  • Créé un fichier de propriétés pureQuery Runtime et défini les propriétés pureQuery.
  • Exécuté l'application Java et capturé les instructions SQL émises par l'application.
  • Exécuté les utilitaires pureQuery Configure et StaticBinder pour traiter le fichier pureQueryXML et procéder à une opération de liaison avec le fichier pureQueryXML.
  • Exécuté l'application Java et exécuté une instruction SQL en mode statique.

Dans cette leçon, vous avez configuré un fichier pureQueryXML qui contenait des requêtes SQL. Lorsque vous configurez un fichier pureQueryXML qui contient des instructions DDL, ces dernières, à l'exception de DECLARE GLOBAL TEMPORARY TABLE, sont déplacées vers un fichier séparé. Par exemple, vous avez capturé une instruction SQL qui a créé une table dans votre fichier pureQueryXML. Lorsque vous configurez le fichier, l'instruction qui a créé la table est déplacée vers un fichier séparé. Pour plus d'informations sur la manière dont l'utilitaire pureQuery Configure gère les instructions DDL, voir Utilitaire Configure.

Dans un projet de plan de travail Java activé avec la prise en charge de pureQuery, le processus de configuration du fichier pureQueryXML gère les instructions DDL de la même manière que l'utilitaire Configure.

Pour plus d'informations sur la définition des propriétés pureQuery Runtime, voir Ordre de priorité des emplacements dans lesquels vous pouvez définir les propriétés pour l'optimisation client.

Pour plus d'informations sur la propriété pureQuery Runtime finalRepositoryProperties, voir Propriété finalRepositoryProperties.

< Précédent | Suivant >

Commentaires