Préparation du fichier pureQueryXML afin d'exécuter les instructions SQL de façon statique sur les bases de données DB2

Pour une application CLI qui est activée avec l'optimisation client pureQuery et qui se connecte à une base de données DB2, vous pouvez configurer l'application afin d'exécuter les instructions SQL de façon statique. Lors du processus de configuration, vous exécutez les utilitaires pureQuery de configuration et StaticBinder basés sur Java pour créer des packages sur la base de données et lier les packages.

Avant de commencer

Sur l'ordinateur sur lequel vous exécutez l'utilitaire Configure et l'utilitaire StaticBinder, vous devez installer et activer pureQuery Runtime. Les fichiers JAR de pureQuery Runtime, pdq.jar et pdqmgmt.jar, doivent être répertoriés dans la variable CLASSPATH. Les produits suivants doivent également être installés sur l'ordinateur :
  • Java Runtime Environment (JRE) version 1.5 ou suivante
  • IBM® Data Server Driver for JDBC and SQLJ version 3.57.xx ou 4.7.xx

Pourquoi et quand exécuter cette tâche

Après avoir capturé les données SQL dans un fichier pureQueryXML, vous copiez le fichier sur un ordinateur où pureQuery Runtime est installé. Vous exécutez les utilitaires de configuration et StaticBinder sur cet ordinateur puis vous copiez à nouveau le fichier pureQueryXML mis à jour sur l'ordinateur où s'exécute l'application CLI.

L'utilitaire Configure met à jour le fichier pureQueryXML afin qu'il soit utilisé par l'utilitaire StaticBinder. L'application CLI utilisée pour capturer les données SQL fait également appel au fichier pureQueryXML pour déterminer les instructions SQL qui doivent être exécutées en mode statique.

Procédure

Pour configurer les applications CLI afin qu'elles exécutent les instructions SQL en mode statique dans les bases de données DB2 :

  1. Copiez le fichier pureQueryXML sur l'ordinateur où pureQuery Runtime est installé.

    Vérifiez que le fichier pureQueryXML n'est pas en cours d'écriture lorsque vous le récupérez. Si vous récupérez le fichier pendant son écriture, le contenu du fichier risque de ne pas être valide ou l'application risque de ne pas pouvoir mettre à jour le fichier, ce qui produirait une erreur E-S.

    Vous pouvez utiliser l'option -validateXml avec l'utilitaire Configure pour vérifier la validité du fichier. L'option -validateXml est prise en charge avec pureQuery Runtime version 2.2.0.3 et suivante.

  2. Configurez le fichier pureQueryXML avec l'utilitaire Configure pureQuery.
    La commande de l'exemple suivant configure le fichier pureQueryXML capture.pdqxml. L'option -rootpkgname spécifie la chaîne de base utilisée par l'utilitaire StaticBinder pour créer des noms de packages à partir des informations SQL pureQueryXML. L'option -validateXml spécifie que l'utilitaire Configure effectue la validation de schéma XML pour vérifier que le fichier pureQueryXML est conforme au schéma pureQuery XML.
    java com.ibm.pdq.tools.Configure -rootpkgname TESTPKG 
    		-validateXml TRUE
       -pureQueryXml capture.pdqxml
  3. Exécutez l'utilitaire pureQuery StaticBinder pour créer un package sur la base de données cible et lier les packages sur la base de données.
    La commande de l'exemple suivant crée des packages et les lie sur la base de données qui est spécifiée par l'option -url. Les packages contiennent des instructions SQL provenant du fichier pureQueryXML capture.pdqxml. L'option -isolationLevel spécifie que l'utilitaire StaticBinder crée des packages uniquement pour le niveau d'isolement de lecture non reproductible.
    java com.ibm.pdq.tools.StaticBinder 
      –url "jdbc:db2://testserver.test.com:446/STLEC1" 
      -username "utilisateur_test" -password "motdepasse_test"
      -isolationLevel "CS"
      -pureQueryXml "capture.pdqxml"

    Par défaut, l'utilitaire StaticBinder crée quatre packages pour un fichier pureQueryXML donné, un pour chaque type de niveau d'isolement. Cet exemple spécifie le niveau d'isolement de lecture non reproductible. StaticBinder crée un seul package pour ce niveau d'isolement.

  4. Copiez à nouveau le fichier pureQueryXML configuré sur l'ordinateur où s'exécute l'application CLI dans laquelle le fichier pureQueryXML a été créé.

    pureQuery Runtime utilise les informations provenant du fichier pureQueryXML configuré afin de déterminer les instructions SQL à exécuter de façon statique.

  5. Dans le fichier de configuration CLI de l'application, définissez la valeur du mot clé pureQuery executionMode par STATIC.
    Par exemple, dans db2cli.ini, définissez les mots clés pureQuery suivants :
    executionMode=STATIC
    allowDynamicSQL=TRUE
    pureQueryXml=capture.pdqxml
    Si vous utilisez un fichier db2dsdriver.cfg, une autre solution consiste à définir les mots clés en tant qu'attributs dans les éléments des paramètres :
    <parameter name="executionMode" value="STATIC" />
    <parameter name="allowDynamicSQL" value="TRUE" />
    <parameter name="pureQueryXml" value="capture.pdqxml" />

    Avec les valeurs de mots clés allowDynamicSQL=TRUE, pureQuery Runtime exécute les instructions SQL de façon dynamique si l'instruction SQL ne figure pas dans le fichier pureQueryXML capture.pdqxml.

    La valeur par défaut du mot clé pureQuery allowDynamicSQL est TRUE et n'est pas obligatoire dans le fichier de propriétés. Placer la propriété dans le fichier permet de se souvenir de la valeur par défaut.

  6. Exécutez ou redémarrez l'application pour utiliser les informations mises à jour dans le fichier de configuration et le fichier pureQueryXML.

    L'application CLI lit les mots clés pureQuery mis à jour et les informations pureQueryXML et exécute les instructions SQL de façon statique.

Que faire ensuite

Si vous capturez de nouvelles instructions SQL dans le fichier pureQueryXML, vous pouvez utiliser les utilitaires de configuration et StaticBinder pour mettre à jour ou créer les nouveaux packages et les lier sur la base de données.


Commentaires