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 :
- 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.
- 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
- 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.
- 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.
- 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.
- 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.