Configuration d'une application CLI avec l'optimisation client pureQuery

Lorsque vous configurez une application d'interface CLI afin d'utiliser l'optimisation client pureQuery, le pilote de client CLI peut activer des fonctionnalités pureQuery, comme permettre aux applications CLI DB2 existantes d'exécuter des instructions SQL de façon statique. Exécuter statiquement des instructions SQL évite de les préparer lors de l'exécution et peut améliorer la sécurité et les performances de l'application.

Avant de commencer

Activation de votre application CLI avec l'optimisation client pureQuery.

Pourquoi et quand exécuter cette tâche

Pour configurer une application CLI avec l'optimisation client pureQuery, vous devez d'abord configurer votre application CLI afin de capturer les instructions SQL émises par votre application. Vous configurez ensuite l'application pour contrôler l'exécution des instructions SQL qui sont lancées par l'application.
  • Si l'application se connecte à une base de données DB2, vous pouvez configurer l'application afin d'exécuter des instructions SQL de façon statique. Le processus de configuration comprend les étapes suivantes de configuration du fichier pureQueryXML contenant les instructions SQL capturées, et de liaison des instructions SQL capturées.
  • Une base de données Informix ne prend pas en charge les instructions SQL s'exécutant en mode statique. Si votre application se connecte à une base de données Informix, vous pouvez utiliser d'autres fonctionnalités pureQuery pour contrôler les instructions SQL envoyées par l'application sur la base de données. Ces fonctionnalités sont disponibles pour les applications CLI qui sont activées avec l'optimisation client pureQuery et qui se connectent aux bases de données Informix ou DB2.

Cette tâche décrit comment configurer votre application CLI avec l'optimisation client pureQuery.

Procédure

Pour configurer une application CLI avec l'optimisation client pureQuery :

  1. Définissez les mots clés pureQuery dans votre fichier de configuration d'application CLI afin de capturer les instructions SQL lancées par votre application.

    Vous définissez ces mots clés dans le fichier db2cli.ini ou le fichier db2dsdriver.cfg. Les paramètres du fichier db2cli.ini sont prioritaires sur ceux du fichier db2dsdriver.cfg

    1. Définissez la valeur du mot clé captureMode par ON.
    2. Définissez la valeur du mot clé executionMode par DYNAMIC.

      La valeur par défaut du mot clé executionMode est DYNAMIC. Placer le mot clé dans le fichier permet de se souvenir de la valeur par défaut.

    3. Définissez la valeur du mot clé pureQueryXML par le chemin et le nom du fichier pureQueryXML qui stocke les données SQL capturées.
      Le fichier pureQueryXML doit avoir l'extension .xml ou .pdqxml. L'exemple suivant de ficher de configuration db2dsdriver.cfg indique les mots clés pureQuery Runtime suivants :
      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="on"/>
              <parameter name="executionMode" value="dynamic"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
  2. Exécutez votre application afin de capturer les instructions SQL dans le fichier pureQueryXML.

    Si vous déplacez le fichier pureQueryXML pour le traitement, vérifiez qu'il n'est pas écrit lorsque vous le récupérez. Si vous récupérez le fichier pendant qu'il est écrit, le contenu du fichier risque de ne pas être valide ou l'application risque de ne pas pouvoir mettre à jour le fichier, ce qui risque de générer une erreur E-S.

  3. Obligatoire pour exécuter les instructions SQL de façon statique : Configurez le fichier pureQueryXML puis utilisez ses instructions SQL pour créer des modules sur la base de données de l'application et lier les modules à la base de données.

    Vous traitez le fichier pureQueryXML sur un ordinateur sur lequel l'exécution pureQuery est installée et configurée pour exécuter les utilitaires de configuration et StaticBinder pureQuery basés sur Java.

    1. Si nécessaire, copiez le fichier pureQueryXML sur l'ordinateur qui est configuré pour exécuter les utilitaires pureQuery.
    2. Exécutez l'utilitaire Configure pureQuery afin de configurer les fichier pureQueryXML avec le nom du module et l'ID de collecte.

      A l'invite de commande, exécutez l'utilitaire Configure pour ajouter des informations au fichier pureQueryXML, telles que le nom du module et l'ID de collecte, qui sont utilisées par l'utilitaire pureQuery StaticBinder. Vous pouvez également spécifier d'autres options pour gérer les instructions SQL dans le fichier.

    3. Exécutez l'utilitaire pureQuery StaticBinder avec le fichier pureQueryXML configuré pour créer des modules sur le serveur DB2 cible et les lier.

      A l'invite de commande, exécutez l'utilitaire StaticBinder pour lier votre fichier à la base de données. Vous exécutez l'utilitaire StaticBinder avec les options qui définissent la base de données et les informations de module.

    4. Si nécessaire, remplacez le fichier pureQueryXML sur l'ordinateur où l'application CLI s'exécute avec le fichier traité.
  4. Mettez à jour la configuration de votre application CLI pour contrôler l'exécution des instructions SQL.

    Localisez le fichier de configuration db2cli.ini ou le fichier de configuration db2dsdriver.cfg et mettez à jour les mots clés et les valeurs. La liste suivante décrit des exemples de configurations :

    • Pour configurer votre application afin d'exécuter des instructions SQL de façon statique, mettez à jour les mots clés et valeurs suivants :
      • Définissez la valeur du mot clé captureMode par OFF.
      • Définissez la valeur du mot clé executionMode par STATIC.
      • Définissez la valeur du mot clé pureQueryXML par le chemin et le nom du fichier pureQueryXML qui contient les instructions SQL capturées.

      A l'aide des paramètres de mot clé, votre application CLI exécute des instructions SQL de façon statique. L'exemple suivant de fichier de configuration db2dsdriver.cfg indique les mots clés pureQuery Runtime :

      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="off"/>
              <parameter name="executionMode" value="static"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
    • Pour configurer votre application afin d'exécuter des instructions SQL de façon dynamique et limiter l'application pour qu'elle exécute uniquement des instructions dans le fichier pureQueryXML, mettez à jour les mots clés et valeurs suivants :
      • Définissez la valeur du mot clé captureMode par OFF.
      • Définissez la valeur du mot clé capturedOnly par TRUE.
      • Définissez la valeur du mot clé executionMode par DYNAMIC.
      • Définissez la valeur du mot clé pureQueryXml sur le chemin et le nom du fichier pureQueryXML contenant les instructions SQL capturées.
      A l'aide des paramètres de mot clé, votre application CLI exécute des instructions SQL de façon dynamique. Seules les instructions SQL du fichier pureQueryXML sont exécutés. Si votre application lance une instruction SQL qui ne se trouve pas dans le fichier pureQueryXML, une erreur est renvoyée. L'exemple suivant de fichier de configuration db2dsdriver.cfg indique les mots clés de pureQuery Runtime :
      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="off"/>
              <parameter name="capturedOnly" value="TRUE" />
              <parameter name="executionMode" value="dynamic"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
  5. Exécutez ou redémarrez l'application pour utiliser les informations mises à jour dans le fichier de configuration et le fichier pureQueryXML.

Résultats

L'application CLI qui est activée avec l'optimisation client pureQuery exécute des instructions SQL en fonction de la configuration spécifiée.

pureQuery Runtime vérifie qu'une licence pureQuery valide est présente si un mot clé pureQuery Runtime est spécifié dans un fichier de configuration. Si aucune licence pureQuery n'est valide, pureQuery Runtime se ferme et renvoie le code d'erreur SQL8029N.

Que faire ensuite

Vous pouvez stocker les données de fichier pureQueryXML dans un référentiel créé dans une base de données. Pour que l'application CLI récupère et utilise les données de fichier pureQueryXML, vous pouvez spécifier les mots clés pureQuery pureQueryXmlRepository et propertiesGroupId pour qu'ils pointent sur le référentiel et le groupe d'exécution actif contenant les données. Pour obtenir des informations sur les référentiels, voir Accès et stockage des données pureQuery dans différents emplacements.


Commentaires