La propriété captureStatementBatchSQL s'applique uniquement lorsque captureMode prend la valeur ON.
Cette propriété peut posséder les valeurs suivantes :
Par conséquent, paramétrez captureStatementBatchSQL sur OFF uniquement si allowDynamicSQL va prendre la valeur TRUE lors de l'exécution de l'application avec la valeur STATIC sélectionnée pour executionMode. Dans cette situation, chaque appel de Statement.addBatch() va s'exécuter en mode dynamique, sans vérification permettant de déterminer si l'instruction apparaît dans le fichier pureQueryXML.
Lorsque vous capturez des instructions, paramétrez captureStatementBatchSQL sur ON. Ainsi, pureQuery sauvegardera dans un fichier pureQueryXML toutes les instructions traitées via la méthode Statement.addBatch(), ceci jusqu'à la limite définie par maxNonParmSQL.
Lorsque vous exécutez votre application après définition des accès pour les instructions SQL, paramétrez executionMode sur STATIC et allowDynamicSQL sur FALSE. Chaque fois que votre application demande à exécuter les instructions SQL par lots, pureQuery recherche ces instructions dans le fichier pureQueryXML. Si les instructions apparaissent dans le fichier pureQueryXML et si leurs accès sont définis, pureQuery les exécute. Si les instructions n'apparaissent pas dans le fichier pureQueryXML ou si leurs accès ne sont pas définis, pureQuery émet une exception du fait de la valeur FALSE associée à allowDynamicSQL.
Le traitement par lots d'instructions SQL hétérogènes est utile pour ce type d'application dans la mesure où il réduit le trafic réseau sans toutefois perdre les passations de commandes nécessaires pour l'exécution des instructions INSERT, UPDATE ou DELETE.
Lorsque vous capturez des instructions pour l'application, paramétrez captureStatementBatchSQL sur OFF. Ainsi, pureQuery ne capturera pas les instructions SQL traitées par la méthode Statement.addBatch(). Aucune de ces instructions ne sera prise en compte au regard de la limite définie pour maxNonParmSQL.
Lorsque vous exécutez votre application après définition des accès pour les autres instructions SQL, paramétrez executionMode sur STATIC et allowDynamicSQL sur TRUE. Quand l'application demande à exécuter les instructions SQL par lots, pureQuery ne recherche pas ces instructions dans le fichier pureQueryXML et celles-ci sont exécutées en mode dynamique.