Lorsque vous indiquez l'option -groupSQLBySpecialRegisters, l'utilitaire Configure regroupe les instructions SQL du fichier pureQueryXML en ensembles d'instructions en fonction des informations des registres spéciaux enregistrées lors de la capture des instructions SQL. Les paramètres du registre spécial peuvent avoir une incidence sur le comportement de l'instruction SQL.
Lorsque vous indiquez l'option -optionsFileForBind, l'utilitaire Configure génère un fichier d'options StaticBinder et tente de créer un ensemble d'options de liaison pour les ensembles d'instructions en fonction des paramètres des registres spéciaux enregistrés lors de la capture des instructions SQL. Si les instructions de l'ensemble d'instructions sont regroupées en fonction d'un ensemble unique de valeurs des registres spéciaux, l'utilitaire Configure génère un seul ensemble d'options de liaison. Si l'ensemble d'instructions est regroupé en fonction de plusieurs ensembles de valeurs des registres spéciaux, l'utilitaire crée un commentaire contenant un ensemble d'options de liaison pour chaque ensemble de registres spéciaux. L'utilitaire contient également des commentaires avec des informations et des avertissements sur les ensembles d'instructions, les instructions SQL et les informations du registre spécial du fichier pureQueryXML.
Les options de liaison peuvent être nécessaires lorsque vous liez des packages à une base de données DB2 pour exécuter des instructions SQL en mode statique. Elles permettent d'exécuter une instruction SQL en mode statique en obtenant un comportement comparable à celui d'une exécution en mode dynamique.
Avant d'utiliser les options de liaison générées avec l'utilitaire StaticBinder, vérifiez-les. Si nécessaire, modifiez les options de liaison de votre environnement afin que les instructions SQL aient un comportement correct lors de leur exécution en mode statique.
Dans certains cas, il est possible que vous ne puissiez pas indiquer un ensemble d'options de liaison pour un ensemble d'instructions. Vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas effectuer d'opération de liaison. Dans le fichier pureQueryXML, modifiez la valeur de l'attribut XML isBindable en l'associant à false pour l'ensemble d'instructions et configurez une nouvelle fois le fichier pureQueryXML. Pour plus d'informations sur l'attribut isBindable et sa modification, voir Attribut XML isBindable dans le fichier pureQueryXML.Le fichier généré par l'utilitaire Configure se trouve dans le format du fichier d'options de l'utilitaire pureQuery StaticBinder. Le fichier d'options généré par l'utilitaire Configure se compose de commentaires, de l'entrée defaultOptions et d'entrées pour lier les ensembles d'instructions.
Un commentaire contient des avertissements et des informations et peut inclure un ensemble d'options de liaison. Pour plus d'informations sur le contenu des commentaires, voir Commentaires générés par l'utilitaire Configure.
defaultOptions =
L'utilitaire Configure ajoute des options de liaison à l'entrée defaultOptions uniquement si l'option -groupSQLBySpecialRegisters a été omise et qu'aucun ensemble d'instructions n'a été regroupé en fonction des informations des registres spéciaux.
L'utilitaire Configure génère des options d liaison et peut ajouter un commentaire avec des informations supplémentaires. Vous pouvez ajouter d'autres options pour des éléments, tels que l'URL de connexion ou le niveau d'isolement. Pour plus d'informations sur l'entrée defaultOptions, reportez-vous au lien "Syntaxe des options par défaut d'un fichier d'options de l'utilitaire StaticBinder pour l'optimisation client " à la fin de cette rubrique.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)"
# WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
Le format suivant définit les options de liaison d'un ensemble d'instructions :
fichier_pureQueryXML:nom-package-base=options-liaison
L'entrée générée par l'utilitaire Configure contient uniquement les informations de l'ensemble d'instructions et des options de liaison. Vous pouvez ajouter d'autres options. L'entrée peut contenir un commentaire avec des informations et des avertissements supplémentaires pour l'ensemble d'instructions.
Pour plus d'informations sur l'utilisation d'une entrée pour lier un ensemble d'instructions, reportez-vous au lien "Syntaxe des entrées d'un fichier d'options de l'utilitaire StaticBinder pour l'optimisation client" à la fin de cette rubrique.
L'exemple suivant présente une entrée utilisée pour lier un ensemble d'instructions. Pour des raisons de lisibilité, l'entrée est présentée sur plusieurs lignes :
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)"
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
INFO: configureStatus(FINAL)
L'utilitaire Configure génère des options de liaison pour un ensemble d'instructions si l'option -groupSQLBySpecialRegisters a été indiquée ou si l'ensemble d'instructions a été regroupé en fonction des informations des registres spéciaux. L'utilitaire Configure génère des options de liaison pour un ensemble d'instructions si un ensemble unique de valeurs des registres spéciaux est enregistré avec l'ensemble d'instructions. Si plusieurs ensembles de valeurs des registres spéciaux sont enregistrés pour un ensemble d'instructions, l'utilitaire Configure crée des commentaires contenant les options de liaison basées sur les ensembles de valeurs des registre spéciaux enregistrés avec les instructions SQL de l'ensemble d'instructions.
# -bindOptions "QUALIFIER(SCHM13) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(3) UNTRACKED_SET]
Pour le commentaire, les options de liaison sont basées sur un ensemble de valeurs des registres spéciaux avec l'ID 3 dans le fichier pureQueryXML C:\myDir\capture.pdqxml. Pour l'ensemble de valeurs des registres spéciaux 3, pureQuery Runtime a également détecté les modifications des registres spéciaux que pureQuery contrôle mais pour lesquels des valeurs ne sont pas enregistrées.
Dans le fichier d'options Staticbinder créé par l'utilitaire pureQuery Configure, l'utilitaire ajoute des commentaires après les options de liaison. Les commentaires contiennent des marques représentant des messages d'informations ou d'avertissement. Les marques précédées de la mention WARNING: indiquent pourquoi les instructions SQL des ensembles d'instructions risquent d'avoir un comportement incorrect lors d'une exécution en mode statique. Les marques précédées de la mention INFO: sont des messages d'informations.
Lorsque les commentaires ajoutés une instruction contiennent la marque isBindable(FALSE), seule la mention INFO: est utilisée. La marque est indiquée pour un ensemble d'instructions lorsque la valeur de l'attribut XML isBindable est false. Si la valeur est false, l'utilitaire StaticBinder ignore l'ensemble d'instructions lors de la procédure de liaison. Si l'ensemble d'instructions n'est pas lié, aucun avertissement n'est nécessaire.
Si la valeur de l'attribut XML isBindable est false pour un ensemble d'instructions, l'utilitaire Configure ne génère pas les options -bindOptions et -configureWarning. Par contre, tous les marques apparaissent dans les commentaires de l'instruction.
Pour plus d'informations sur l'attribut isBindable, voir Attribut XML isBindable dans le fichier pureQueryXML
Les marques suivantes fournissent des informations sur les ensembles d'instructions :
Si vous indiquez l'option -setPostStatusOfAllPkgs de l'utilitaire Configure avec la valeur FINAL, la marque n'est pas ajoutée pour chaque ensemble d'instructions. Elle est ajoutée sous forme de commentaire uniquement lorsque la valeur de l'attribut configureStatus est FINAL pour l'ensemble d'instructions du fichier d'entrée pureQueryXML. L'option -setPostStatusOfAllPkgs associe l'attribut configureStatus de tous les ensembles d'instructions à FINAL après la configuration.
Lorsque vous modifiez le fichier pureQueryXML, vérifiez que les modifications apportées n'affectent pas involontairement les ensembles d'instructions dont l'attribut configureStatus a pour valeur FINAL.
Si l'utilitaire Configure génère des marques d'avertissement pour l'ensemble d'instructions, vous pouvez ignorer ou tenter de corriger les avertissements. Vous pouvez ignorer les avertissements si vous souhaitez conserver les packages existants liés dans la base de données. Pour tenter de corriger les avertissements, reportez-vous aux informations propres à la marque d'avertissement. La correction d'un avertissement requiert généralement la configuration de l'ensemble d'instructions. Une fois qu'une instruction est configurée, les packages associés à l'ensemble d'instructions doivent être à nouveau liés par l'utilitaire StaticBinder pour permettre l'exécution des instructions SQL de l'ensemble d'instructions en mode statique.
L'utilitaire Configure ajoute également l'option -configureWarning avec la valeur INCREMENTAL_SPECIAL_REGISTER_VALUES_PRESENT aux options de liaison pour l'ensemble d'instructions.
La marque peut apparaître dans le commentaire d'un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Lorsque vous exécutez l'utilitaire Configure, ajoutez l'option -optionsFileForBind pour générer un nouveau fichier d'options. Vérifiez que l'avertissement ne figure pas dans le nouveau fichier d'options.
Lorsque vous exécutez les instructions SQL en mode statique, la base de données DB2 requiert que l'instruction de mise à jour positionnée se trouve dans le même package que l'instruction de requête associée. Si une instruction de mise à jour positionnée doit être exécutée avec des paramètres du registre spécial différents de ceux utilisés par la requête associée, les instructions SQL doivent être exécutées en mode dynamique.
Si vous ne pouvez pas créer un ensemble d'options de liaison pour l'ensemble d'instructions, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas lier les instructions SQL de l'ensemble. Associez l'attribut isBindable à la valeur false.
L'utilitaire Configure ajoute l'option -configureWarning avec la valeur SPECIAL_REGISTER_GROUPING_INCONSISTENT aux options de liaison de l'ensemble d'instructions.
Si vous ne pouvez pas indiquer un ensemble d'options de liaison, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas effectuer d'opération de liaison. Associez la valeur de l'attribut isBindable à false pour l'ensemble d'instructions.
L'utilitaire Configure ajoute également l'option -configureWarning avec la valeur MULTIPLE_SPECIAL_REGISTER_VALUE_SETS aux options de liaison de l'ensemble d'instructions.
Si vous ne pouvez pas indiquer un ensemble d'options de liaison pour l'ensemble d'instructions, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas effectuer d'opération de liaison. Associez la valeur de l'attribut isBindable à false pour l'ensemble d'instructions.
Pour capturer les instructions et enregistrer les informations du registre spécial, réexécutez l'application avec la dernière version de pureQuery Runtime.
Pour enregistrer les informations du registre spécial, indiquez un ID utilisateur doté des droits nécessaires pour accéder aux informations du registre spécial.
Si des valeurs de registre spécial sont nécessaires pour exécuter correctement les instructions SQL d'un ensemble d'instructions, indiquez un ensemble d'options de liaison qui génère les paramètres appropriés sur la ligne de l'ensemble d'instructions dans le fichier d'options.
Si vous ne connaissez pas les options de liaison appropriées, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas effectuer d'opération de liaison. Associez la valeur de l'attribut isBindable à false pour l'ensemble d'instructions.
Pour générer un nouveau fichier d'options et vérifier que l'avertissement ne figure plus dans le fichier, indiquez l'option -optionsFileForBind de l'utilitaire Configure.
Pour plus d'informations sur la méthode de regroupement des instructions SQL, reportez-vous à l'option -groupSQLByStrings de l'utilitaire Configure.
Les marques suivantes fournissent des informations sur un ensemble de valeurs des registres spéciaux utilisé pour exécuter les instructions d'un ensemble d'instructions. Lorsque ces marques apparaissent dans des commentaires, elles sont placées entre crochets pour indiquer la marque qui correspond à un ensemble de valeurs des registres spéciaux spécifiques.
# WARNING: [specialRegValueId(10) minimumDivideScale(3)]L'ID de l'ensemble de valeurs des registres spéciaux est 10. Pour l'ensemble de valeurs des registres spéciaux, l'échelle de division minimum indiquée par le registre spécial CURRENT PRECISION est 3.
Le commentaire est marqué en tant qu'avertissement car dans certaines bases de données, les options de liaison ne peuvent pas définir la valeur de l'échelle de division minimum d'un package. Pour plus d'informations sur les données des ensembles de valeurs des registres spéciaux dans un fichier pureQueryXML, voir Informations des registres spéciaux dans le fichier pureQueryXML.
La marque peut apparaître dans le commentaire pour un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Déterminez si les instructions de l'ensemble d'instructions ne fonctionnent pas correctement avec l'échelle de division minimum pour les fonctions de division associées au paramètre par défaut de la base de données.
Si une instruction SQL ne s'exécute pas correctement en mode statique, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas lier les instructions SQL de l'ensemble. Associez l'attribut isBindable à la valeur false.
La marque peut apparaître dans le commentaire pour un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
L'utilitaire Configure ajoute également l'option -configureWarning avec la valeur SPECIAL_REGISTER_VALUE_SET_MISSING aux options de liaison de l'ensemble d'instructions.
Cet avertissement peut apparaître si la définition de l'ensemble de valeurs des registres spéciaux est supprimée du fichier.
Si vous ne parvenez pas à récupérer la définition, il est possible que les instructions SQL aient un comportement correct lorsque vous les exécutez en mode statique. Vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas lier les instructions SQL de l'ensemble. Associez l'attribut isBindable à false pour l'ensemble.
La marque peut apparaître dans le commentaire pour un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Si la marque apparaît dans l'entrée defaultOptions, l'utilitaire Configure ajoute un nom de fichier pureQueryXML devant l'ID. Le fichier contient l'ensemble de valeurs des registres spéciaux indiqué.
La marque peut apparaître dans le commentaire d'un ensemble d'instructions regroupées en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Cette marque apparaît uniquement lorsque la marque SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) est indiquée. Pour plus d'informations sur le regroupement des instructions SQL dans différents ensembles d'instructions, reportez-vous aux informations de la marque SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO).
Si vous regroupez les instructions SQL dans cet ensemble d'instructions en fonction des paramètres des registres spéciaux, certaines instructions sont placées dans un ensemble avec la marque SQLGroupedBySpecialRegisters(NO_SRINFO).
La marque peut apparaître dans le commentaire d'un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Dans certains cas, vous pouvez utiliser l'option de liaison OWNER pour obtenir certains des effets générés par le registre spécial CURRENT SQLID.
Si vous ne pouvez pas créer un ensemble d'options de liaison pour l'ensemble d'instructions, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas lier les instructions SQL de l'ensemble. Associez l'attribut isBindable à false pour l'ensemble.
La marque peut apparaître dans le commentaire d'un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
La valeur registres-spéciaux peut être un ou plusieurs mots clés. Si plusieurs mots clés ne sont pas reconnus, l'utilitaire Configure sépare chaque mot clé avec une virgule.
Les registres spéciaux non reconnus peuvent être enregistrés si les instructions SQL du fichier pureQueryXML ont été capturées avec une version de pureQuery Runtime plus ancienne que la version de l'utilitaire Configure. Des registres spéciaux non reconnus peuvent être créés lorsque les informations du registre spécial figurant dans le fichier n'ont pas été correctement modifiées manuellement.
Si cette marque apparaît, utilisez une version de l'utilitaire Configure identique ou postérieure à la version utilisée pour capturer les instructions SQL dans le fichier pureQueryXML. Si le fichier pureQueryXML n'a pas été correctement modifié manuellement, les modifications doivent être annulées.
La marque peut apparaître dans le commentaire d'un ensemble d'instructions regroupé en fonction des paramètres des registres spéciaux ou dans un commentaire sur la ligne defaultOptions.
Si vous ne pouvez pas créer un ensemble d'options de liaison pour l'ensemble d'instructions, vous pouvez indiquer que l'utilitaire StaticBinder ne doit pas lier les instructions SQL de l'ensemble. Associez l'attribut isBindable à false pour l'ensemble.