Vous pouvez utiliser l'optimisation client pureQuery avec les applications CLI qui se connectent à un serveur Informix Dynamic
Server ou à une base de données DB2 comme un 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 instruction 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 IDS.
- Substitution de littéraux d'instruction SQL
- L'optimisation client pureQuery prend en charge la substitution de littéraux d'instructions SQL.
pureQuery Runtime peut remplacer les données littérales dans les instructions SQL par des marqueurs de paramètre. Cette fonctionnalité permet de contrôler la taille du fichier pureQueryXML. La substitution de littéraux dans les instructions SQL fournit une meilleure détermination des problèmes.
Des instructions SQL similaires peuvent être groupées dans une instruction SQL unique dans le fichier pureQueryXML. (avec des informations de trace de pile différentes en fonction de l'emplacement des instructions dans le code de l'application).
- 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é.