Vous pouvez utiliser l'optimisation client pureQuery avec les applications CLI qui se connectent à un serveur Informix
Database Server ou à une base de données DB2 en tant que serveur de données.
Seules les bases de données DB2 prennent en charge l'exécution statique des instructions SQL. Toutefois, lorsque vous utilisez une application CLI qui est activée avec l'optimisation client pureQuery avec un serveur de données IDS, vous pouvez activer les fonctions pureQuery, parmi lesquelles :
- Exécution d'instructions SQL alternatives
- A l'aide du mot clé enableDynamicSQLReplacement, vous pouvez régler les instructions SQL en fournissant une instruction SQL alternative dans le fichier pureQueryXML. Ainsi, au moment de l'exécution de l'application, cette instruction optimisée sera transmise au serveur Informix
Database Server.
- Stockage et extraction des données pureQueryXML dans un référentiel
- Vous pouvez stocker le contenu d'un fichier pureQueryXML dans un référentiel
et spécifier les données du fichier pureQueryXML lorsque vous exécutez une application CLI
activée avec l'optimisation du client pureQuery. Indiquez l'emplacement
des données du fichier pureQueryXML avec les mots clés pureQueryXmlRepository et propertiesGroupId.
Créez et gérez
un référentiel avec l'utilitaire pureQuery ManageRepository. Pour plus d'informations sur les exigences de la base de données pour la création d'un référentiel,
reportez-vous à la configuration requise de pureQuery.
- Substitution de littéraux dans les instructions SQL
- L'optimisation client de pureQuery prend en charge la substitution de littéraux dans les instructions SQL lors de la définition du mot clé sqlLiteralSubstitution sur ENABLE.
PureQuery Runtime peut remplacer les données littérales dans les instructions SQL par des marqueurs de paramètre. Lors de la capture d'instructions SQL dans un fichier pureQueryXML, cette fonction permet de contrôler la taille du fichier pureQueryXML.
La substitution de littéraux dans les instructions SQL permet de mieux déterminer les problèmes.
Des instructions SQL similaires peuvent être groupées dans une instruction SQL unique dans le fichier pureQueryXML.
Cette fonction prend en charge l'exécution d'instructions SQL
de façon statique dans un format paramétré et dont l'exécution ne saurait se faire autrement. Par exemple, si une application exécute des requêtes SQL qui diffèrent uniquement par leurs valeurs de littéraux, la substitution de littéraux dans les instructions SQL prend en charge l'exécution de la
version paramétrée de façon statique de l'instruction. Vous n'avez pas à créer
et lier les packages contenant les requêtes SQL avec chaque combinaison de littéraux
possible.
Vous pouvez définir le mot clé sqlLiteralSubstitution sur
ENABLE sans spécifier d'autre mot clé pureQuery. PureQuery Runtime remplace les valeurs de littéraux dans une instruction SQL par des marqueurs de paramètre
avant d'exécuter l'instruction.
- Exécutez uniquement les instructions SQL capturées
- Les applications CLI qui sont activées avec l'optimisation client pureQuery prennent en charge le mot clé captureOnly= TRUE avec une source de données IDS. Cette fonctionnalité permet d'éviter l'injection SQL en limitant le nombre d'instructions SQL exécutées en mode dynamique par l'application aux instructions SQL répertoriées dans le fichier pureQueryXML.
Remarque : L'utilitaire staticBinder ne peut pas être exécuté sur une base de données IDS. De plus, le mot clé executionMode=STATIC n'est pas pris en charge pour une application CLI connectée à une base de données IDS.
Si vous spécifiez un mot clé pureQuery Runtime qui n'est pas pris en charge avec un serveur de données IDS, il est ignoré.