Une interface CLI ou une application .NET activée
avec l'optimisation client pureQuery peut être configurée pour exécuter des
instructions SQL en mode statique sur une base de données DB2.
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 ou .NET avec l'optimisation client pureQuery.
Sur l'ordinateur sur lequel vous
exécutez les utilitaires de configuration et StaticBinder pureQuery basés sur Java,
vous devez installer et activer l'exécution pureQuery.
Vous devez installer les
produits suivants sur l'ordinateur :
- Java™ Runtime Environment
(JRE) version 1.5 ou suivante
- IBM® Data Server Driver for
JDBC and SQLJ version 3.57.xx
Les fichiers JAR pureQuery Runtime pdq.jar et pdqmgmt.jar, ainsi que
les fichiers JAR de Data Server Driver doivent être répertoriés dans la variable CLASSPATH sur
l'ordinateur où s'exécutent les utilitaires.
Pourquoi et quand exécuter cette tâche
Cette tâche suppose que votre application CLI ou .NET se connecte
à une base de données DB2 et que vous pouvez vous connecter à la base de données avec
l'URL de connexion suivante :
jdbc:db2://svl01:500/DB2M -user user01 -password myPass
Vous
définissez les mots-clés dans le fichier de configuration db2cli.ini afin
de configurer l'application. Vous configurez votre application CLI ou .NET pour capturer
des instructions SQL émises par l'application, puis vous configurez
l'application afin qu'elle exécute les instructions en mode statique.
Procédure
Pour exécuter les instructions SQL en mode statique à partir d'une application CLI ou .NET :
- Définissez les mots-clés pureQuery dans votre fichier de configuration
d'application pour capturer des instructions SQL émises par votre application.
- Si vous utilisez un fichier de configuration db2cli.ini
pour votre application CLI, définissez les mots-clés pureQuery suivants :
captureMode=ON
executionMode=DYNAMIC
pureQueryXml=C:\testapp\Sample1Cptr.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="captureMode" value="ON"/>
<parameter name="executionMode" value="DYNAMIC"/>
<parameter name="pureQueryXml" value="C:\testapp\Sample1Cptr.pdqxml"/>
Les paramètres de mot-clé configurent votre application afin d'exécuter des
instructions SQL en mode dynamique et de capturer l'instruction qui s'est correctement
exécutée dans le fichier C:\testapp\Sample1Cptr.pdqxml.
DYNAMIC est la valeur par défaut du mot-clé executionMode et n'est pas requis dans le fichier de propriétés. Placer la propriété dans le fichier permet de se souvenir de la valeur par défaut. Cette
valeur sera modifiée afin d'exécuter les instructions SQL de façon statique.
La valeur du mot-clé pureQueryXml définit l'emplacement et le
nom du fichier pureQueryXML dans lequel l'optimisation client pureQuery
stocke les données SQL qui sont capturées à partir de l'application. La valeur
correspond également à l'emplacement et au nom du fichier pureQueryXML utilisé
par l'optimisation client pureQuery pour contrôler l'exécution des instructions SQL.
Lorsque vous configurez l'optimisation client pureQuery afin d'exécuter les
instructions SQL de façon statique sur une base de données DB2, l'exécution
pureQuery utilise les informations du fichier pour déterminer les instructions
SQL à exécuter.
- Exécutez votre application afin de capturer les instructions SQL dans le
fichier pureQueryXML.
Les instructions SQL sont capturées dans le fichier pureQueryXML.
- Configurez le fichier pureQueryXML qui contient les instructions SQL
capturées et liez ces dernières.
- Si nécessaire, copiez le fichier pureQueryXML sur l'ordinateur où les
fichiers d'exécution pureQuery sont installés.
- Exécutez l'utilitaire pureQuery Configure pour configurer
le fichier pureQueryXML avec le nom de package et l'ID collecte.
A
l'invite de commande, exécutez l'utilitaire Configure pour ajouter des informations au
fichier pureQueryXML, comme le nom de package et l'ID collecte,
qui sont utilisés par l'utilitaire pureQuery StaticBinder. Vous pouvez également
spécifier d'autres options pour gérer les instructions SQL dans le fichier.
La commande de l'exemple suivant exécute l'utilitaire Configure et
spécifie le nom du package de base SMPL1 ainsi qu'une collecte appelée COLL01. Entrez
la commande sur une seule ligne.
java com.ibm.pdq.tools.Configure -pureQueryXml Sample1Cptr.pdqxml
-rootPkgName SMPL1 -collection COLL01
- Exécutez l'utilitaire pureQuery StaticBinder avec le fichier
pureQueryXML configuré pour créer des packages sur le serveur DB2 cible et lier ces packages.
A l'invite de commande, exécutez l'utilitaire StaticBinder avec des options
spécifiant la base de données et les informations de package. La commande
StaticBinder de l'exemple suivant crée des packages sur le serveur
DB2 cible et lie les packages. Entrez la
commande sur une seule ligne.
java com.ibm.pdq.tools.StaticBinder
-url jdbc:db2://svl01:500/DB2M -user user01 -password myPass
-pureQueryXml Sample1Cptr.pdqxml
- Si nécessaire, remplacez le fichier pureQueryXML sur l'ordinateur où
l'application s'exécute avec le fichier pureQueryXML configuré.
- Mettez à jour la valeur du mot-clé executionMode du
fichier de configuration d'application pour exécuter les instructions capturées
en mode statique. La valeur du mot-clé passe de DYNAMIC à STATIC
- Si vous utilisez un fichier de configuration db2cli.ini pour votre application CLI,
changez la ligne qui contient le mot-clé :
captureMode=ON
executionMode=STATIC
pureQueryXml=C:\testapp\Sample1Cptr.pdqxml
- Si vous utilisez un fichier db2dsdriver.cfg pour une application CLI
ou .NET, changez l'attribut dans l'élément de paramètre :
<parameter name="captureMode" value="ON"/>
<parameter name="executionMode" value="STATIC" />
<parameter name="pureQueryXml" value="C:\testapp\Sample1Cptr.pdqxml"/>
- Exécutez ou redémarrez l'application pour utiliser les informations mises à
jour dans le fichier de configuration et le fichier pureQueryXML.
Résultats
Lorsque vous exécutez l'application, les deux instructions SQL
qui sont lancées par l'application sont exécutées de façon statique. Si vous mettez
à jour l'application et que vous modifiez ou ajoutez des instructions SQL, les
instructions SQL mises à jour ou nouvelles sont exécutées dynamiquement et sont
capturées dans le fichier pureQueryXML.
Conseil : Vous pouvez limiter
l'application afin d'exécuter uniquement les instructions SQL capturées dans le
fichier pureQueryXML. Une configuration
qui limite l'exécution d'instructions SQL consiste à définir la valeur
du mot-clé
captureMode en
OFF et
à ajouter le mot-clé et la valeur
capturedOnly=
TRUE.
Dans
un fichier de configuration db2cli.ini, les paramètres
de mot-clé sont similaires aux mots-clés suivants :
captureMode=OFF
capturedOnly=TRUE
executionMode=STATIC
pureQueryXml=C:\testapp\Sample1Cptr.pdqxml
Pour un fichier
db2dsdriver.cfg,
définissez les éléments de paramètre suivants :
<parameter name="captureMode" value="OFF" />
<parameter name="capturedOnly" value="TRUE" />
<parameter name="executionMode" value="STATIC" />
<parameter name="pureQueryXml" value="C:\testapp\Sample1Cptr.pdqxml" />
Avec cette configuration, seules les instructions SQL du fichier pureQueryXML
sont exécutées et les instructions SQL sont exécutées de façon statique.
Les
instructions SQL mises à jour ou nouvelles ne sont pas capturées dans le fichier pureQueryXML.