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.
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 :
- 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
- Définissez la valeur du mot clé captureMode par ON.
- 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.
- 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>
- 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.
- 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.
- Si nécessaire, copiez le fichier pureQueryXML sur l'ordinateur qui est
configuré pour exécuter les utilitaires pureQuery.
- 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.
- 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.
- Si nécessaire, remplacez le fichier pureQueryXML sur l'ordinateur où
l'application CLI s'exécute avec le fichier traité.
- 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>
- 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.