Lorsque vous configurez une interface CLI ou une application .NET
afin d'utiliser l'optimisation client pureQuery, le pilote de client
peut activer des fonctionnalités pureQuery, comme permettre aux applications CLI ou .NETDB2 existantes
d'exécuter des instructions SQL en mode 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 avec l'optimisation client pureQuery,
vous devez d'abord configurer votre application pour qu'elle capture 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 ou .NET activées avec l'optimisation client
pureQuery qui se connectent à des bases de données Informix ou DB2.
Cette tâche décrit comment configurer votre application CLI ou .NET
avec l'optimisation client pureQuery.
Procédure
Pour configurer une application CLI ou .NET avec l'optimisation client
pureQuery :
- Définissez les mots-clés pureQuery dans votre fichier de configuration
d'application afin de capturer les instructions SQL émises par votre application.
- Pour les applications CLI, définissez les mots-clés dans le fichier db2cli.ini
ou db2dsdriver.cfg. Les paramètres
du fichier db2cli.ini sont prioritaires sur
les paramètres du fichier db2dsdriver.cfg.
- Pour les applications .NET, définissez les mots-clés dans le 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 fichier de configuration
db2dsdriver.cfg
spécifie les mots-clés pureQuery Runtime d'une application CLI :
<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
packages sur la base de données de l'application et lier les packages à 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 pureQuery Configure pour configurer
le fichier pureQueryXML avec le nom de package et l'ID collection.
A
l'invite de commande, exécutez l'utilitaire Configure pour ajouter des informations
au fichier pureQueryXML, telles que le nom du package et l'ID collection, 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 packages 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
package.
- Si nécessaire, remplacez le fichier pureQueryXML sur l'ordinateur où
l'application s'exécute avec le fichier traité.
- Mettez à jour la configuration de votre application pour contrôler
l'exécution des instructions SQL.
Localisez le fichier de configuration db2cli.ini
ou 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 exécute les instructions SQL
en mode statique. L'exemple suivant de fichier de configurationdb2dsdriver.cfg
indique les mots-clés pureQuery Runtime d'une application CLI :
<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 exécute des instructions SQL
en mode 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 pureQuery Runtime d'une application CLI :
<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 récupère et utilise les
données du fichier pureQueryXML, vous pouvez spécifier les mots-clés pureQuery pureQueryXmlRepository et propertiesGroupId pour
qu'ils pointent vers le référentiel et le groupe d'exécution actif qui contient les données.
Pour obtenir des informations sur les référentiels, voir Accès et stockage des données pureQuery à partir des systèmes et des référentiels de fichiers.