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 ou .NET activée avec l'optimisation client pureQuery et qui se connecte à une base de données DB2, vous pouvez configurer l'application pour exécuter les instructions SQL de façon statique. Lors du processus de configuration, vous exécutez les utilitairespureQuery Configure et StaticBinder basés sur Java pour créer des packages sur la base de données et lier ces packages.

Avant de commencer

Sur l'ordinateur sur lequel vous exécutez l'utilitaire Configure et l'utilitaire StaticBinder basés sur Java, vous devez installer et activerpureQuery Runtime. Les fichiers JARpureQuery 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 Configure et StaticBinder sur cet ordinateur, puis vous copiez à nouveau le fichier pureQueryXML mis à jour sur l'ordinateur où s'exécute l'application CLI ou .NET.

L'utilitaire Configure met à jour le fichier pureQueryXML afin qu'il soit utilisé par l'utilitaire StaticBinder. L'application CLI ou .NET utilisée pour capturer les données SQL utilise également le fichier pureQueryXML pour déterminer quelles instructions SQL exécuter en mode statique.

Procédure

Pour configurer les applications CLI ou .NET afin d'exécuter des instructions SQL en mode statique sur des bases de données DB2 :

  1. Copiez le fichier pureQueryXML vers 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 ultérieure.

  2. Configurez le fichier pureQueryXML avec l'utilitaire pureQuery Configure.
    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 indique que l'utilitaire Configure effectue une validation de schéma XML pour vérifier que le fichier pureQueryXML est conforme au schéma XMLpureQuery.
    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 du fichier pureQueryXML configuré pour déterminer les instructions SQL à exécuter en mode statique.

  5. Dans le fichier de configuration pour l'application CLI ou .NET, définissez la valeur du mot-clé pureQueryexecutionMode sur STATIC.
    • Si vous utilisez un fichier de configuration db2cli.ini pour votre application CLI, définissez les mots-clés pureQuery suivants :
      executionMode=STATIC
      allowDynamicSQL=TRUE
      pureQueryXml=capture.pdqxml
    • Si vous utilisez un fichier db2dsdriver.cfg pour une application CLI ou .NET, définissez les mots-clés en tant qu'attributs dans les éléments de paramètre :
      <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 en mode dynamique si l'instruction SQL ne se trouve 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 lit les informations pureQueryXML et les mots-clés pureQuery mis à jour, puis exécute les instructions SQL en mode statique.

Que faire ensuite

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

Une application CLI ou .NET activée avec l'optimisation client pureQuery peut récupérer des données de fichier pureQueryXML à partir d'un référentiel. L'application ne peut pas récupérer d'informations de configuration de pureQuery Runtime à partir d'un référentiel. L'application ne peut pas mettre à jour les données pureQueryXML stockées dans un référentiel.


Commentaires