Fichier d'options StaticBinder créé par l'utilitaire Configure

Les options -groupSQLBySpecialRegisters et -optionsFileForBind de l'utilitaire Configure permettent de créer un fichier d'options StaticBinder pour un fichier pureQueryXML. Les options de liaison et d'autres informations du fichier vous aident à définir un ensemble d'options de liaison pour exécuter une instruction SQL en mode statique dans une base de données DB2 et obtenir un comportement comparable à celui d'une exécution dynamique lancée à partir de l'application.

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.

Format du fichier d'options StaticBinder

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.

Commentaire
Un commentaire commence par le symbole #. Le texte situé entre le symbole # et la fin de la ligne est ignoré par l'utilitaire StaticBinder. L'utilitaire Configure ajoute des commentaires à une ligne d'entrée ou crée un ligne de commentaire distincte.

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.

Entrée defaultOptions
Indique les options de liaison de tous les fichiers pureQueryXML répertoriés dans un fichier d'options. L'entrée defaultsOptions commence par le texte suivant :
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.

Pour l'exemple d'entrée defaultOptions présenté ci-dessous, toutes les instructions SQL utilisent un ensemble unique de valeurs des registres spéciaux. Pour des raisons de lisibilité, l'entrée est présentée sur plusieurs lignes :
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
   ROUNDING(HALFEVEN) DEC(15)" 
   # WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) 
   minimumDivideScale(8) SQLID(ADMF003)]
Le texte placé devant le caractère # est l'entrée defaultOptions.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM)
   ROUNDING(HALFEVEN) DEC(15)"
Le texte placé après le caractère # est le texte de commentaire de la ligne. Le commentaire de l'exemple d'entrée contient des marques d'avertissement.
# WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
L'entrée defaultOptions de l'exemple suivant contient uniquement un commentaire :
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
Options de liaison d'un ensemble d'instructions

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*)
Le texte placé avant le caractère # représente l'entrée utilisée pour lier l'ensemble d'instructions MYRPN1K dans le fichier pureQueryXML C:\myDir\capture.pdqxml:
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
    ROUNDING(HALFEVEN) DEC(15)"
Le texte placé après le caractère # est le texte de commentaire de la ligne. Le commentaire contient des avertissements et des marques d'informations relatives à l'ensemble d'instructions.
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)

Commentaires générés par l'utilitaire Configure

L'utilitaire Configure ajoute des commentaires à une entrée du fichier d'options ou crée une ligne de commentaire distincte.
  • Un commentaire ajouté à une entrée contient des informations sur cette entrée.
  • Une ligne de commentaire distincte indique un ensemble d'options de liaison pour un ensemble de valeurs des registres spéciaux.
Si un commentaire est ajouté à une entrée du fichier d'options, il s'applique à cette entrée. Dans l'exemple d'entrée ci-dessous, un commentaire est ajouté à l'entrée. Pour des raisons de lisibilité, l'entrée est présentée sur plusieurs lignes :
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" 
    # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL) 
Dans le commentaire de l'exemple d'entrée, les marques entre crochets associent les marques à un ensemble de valeurs des registres spéciaux. Dans l'exemple d'entrée, le groupe entre crochets regroupe les deux marques minimumDivideScale(3) et UNTRACKED_SET avec l'ID de l'ensemble de valeurs des registres spéciaux 10.
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL)
Les marques qui ne sont pas placées entre crochets font référence à l'ensemble d'instructions. L'exemple d'entrée contient une marque d'informations indiquant que le statut de configuration de l'ensemble d'instructions MYRPN1K est 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.

L'exemple de ligne commentaire ci-dessous contient des options de liaison basées sur un ensemble de valeurs des registres spéciaux. Pour des raisons de lisibilité, le commentaire est présenté sur plusieurs lignes :
#  -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.

Marques de commentaires dans le fichier d'options Staticbinder

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

Marques de commentaire des ensembles d'instructions

Les marques suivantes fournissent des informations sur les ensembles d'instructions :

configureStatus(FINAL)
Marque d'informations. Dans le fichier pureQueryXML, la valeur de l'attribut XML configureStatus est FINAL pour l'ensemble d'instructions. Lorsque l'utilitaire Configure traite l'ensemble d'instructions, il signale les erreurs qu'il détecte mais il ne tente pas de les corriger.

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.

incrementalSpecialRegValuesPresent
Marque d'avertissement. L'attribut de l'ensemble d'instructions configureStatus a pour valeur FINAL et pour une ou plusieurs instructions SQL de l'ensemble, les informations XML contiennent l'attribut incrementalSpecialRegValuesUsed. L'attribut incrementalSpecialRegValuesUsed indique que de nouveaux ensembles de valeurs des registres spéciaux ont été enregistrés. Toutefois, ils n'ont pas été pris en compte lorsque les instructions SQL ont été regroupées en fonction des paramètres de registres spéciaux.

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.

Utilisez l'une des méthodes suivantes pour permettre à l'utilitaire de configurer un ensemble d'instructions lorsque l'attribut configureStatus de l'ensemble correspond à FINAL :
  • Utilisez l'éditeur pureQueryXML dans IBM® Data Studio pour associer l'attribut configureStatus à la valeur REQUIRED avant d'exécution de l'utilitaire Configure.
  • Ajoutez l'option -setPreStatusOfAllPkgs avec la valeur REQUIRED ou AUTO lors de l'exécution de l'utilitaire Configure. L'utilisation de cette option s'applique à tous les ensembles d'instructions du fichier pureQueryXML. Utilisez-la uniquement si vous ne souhaitez pas conserver les ensembles d'instructions existants.
  • Ajoutez l'option -cleanConfigure avec la valeur TRUE lors de l'exécution de l'utilitaire Configure. N'utilisez pas cette option si vous devez conserver les ensembles d'instructions existants.
Remarque : Avant de modifier la valeur FINAL de l'attribut configureStatus, vérifiez que la liaison de nouveaux packages de l'ensemble d'instructions n'a pas d'effet négatif sur l'application qui exécute les instructions SQL en mode statique. Lorsque l'utilitaire Configure modifie un ensemble d'instructions, les packages déjà créés pour l'ensemble d'instructions d'origine ne peuvent pas être utilisés pour exécuter les instructions SQL en mode statique. Vous devez exécuter l'utilitaire StaticBinder pour lier de nouveaux packages.

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.

isBindable(FALSE)
Marque d'informations. Dans le fichier pureQueryXML, la valeur de l'attribut XML isBindable correspond à false pour l'ensemble d'instructions. L'utilitaire StaticBinder n'effectue pas d'opération de liaison dans l'ensemble d'instructions.
positionedUpdateSpecialRegValueId
Marque d'avertissement. L'ensemble d'instructions contient des instructions de mise à jour positionnées et les requêtes SQL associées. Les valeurs des registres spéciaux enregistrées avec une ou plusieurs instructions de mise à jour positionnées sont différentes de celles des paramètres du registre spécial des requêtes.

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.

Pour définir les options de liaison de l'ensemble d'instructions, procédez comme suit :
  1. Créez un ensemble d'options de liaison qui génère un comportement correct lorsque vous exécutez les instructions SQL de l'ensemble d'instructions en mode statique.
  2. Si nécessaire, mettez à jour les options de liaison de l'ensemble d'instructions dans le fichier d'options pour prendre en compte cet ensemble d'options de liaison.

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.

SQLGroupedBySpecialRegisters(avertissement)
Marque d'avertissement. L'utilitaire Configure a détecté une erreur dans les informations des registres spéciaux enregistrées avec les instructions SQL de l'ensemble d'instructions.
avertissement correspond à l'une des valeurs suivantes :
  • INCONSISTENT_SRINFO
  • MULTI_SRINFO
  • NO_SRINFO
  • NOT_GROUPED
INCONSISTENT_SRINFO
Les instructions SQL de l'ensemble d'instructions ne sont pas correctement regroupées en fonction du registre spécial.

L'utilitaire Configure ajoute l'option -configureWarning avec la valeur SPECIAL_REGISTER_GROUPING_INCONSISTENT aux options de liaison de l'ensemble d'instructions.

Lorsque vous configurez des ensembles d'instructions, vous pouvez regrouper les instructions SQL en fonction des paramètres des registres spéciaux en associant l'option -groupSQLBySpecialRegisters de l'utilitaire Configure à la valeur TRUE. Indiquez l'option -optionsFileForBind pour générer un nouveau fichier d'options et vérifiez que le nouveau fichier d'options généré ne signale plus cet incident. Utilisez l'une des méthodes suivantes pour configurer un ensemble d'instructions:
  • Utilisez l'éditeur pureQueryXML dans IBM Data Studio pour associer l'attribut configureStatus à la valeur REQUIRED avant d'exécuter l'utilitaire Configure.
  • Indiquez l'option -setPreStatusOfAllPkgs de l'utilitaire Configure avec la valeur REQUIRED. L'utilisation de cette option s'applique à tous les ensembles d'instructions du fichier pureQueryXML.
  • Indiquez l'option -cleanConfigure de l'utilitaire Configure avec la valeur TRUE. Utilisez-la uniquement si vous ne souhaitez pas conserver les ensembles d'instructions existants.
Si vous ne modifiez pas le regroupement des instructions dans ces ensembles d'instructions, vous pouvez utiliser les informations du fichier d'options pour indiquer un ensemble d'options de liaison :
  1. Créez un ensemble d'options de liaison pour exécuter les instructions SQL d'un ensemble d'instructions en mode statique.
  2. Ajoutez l'ensemble d'options de liaison à la ligne de l'ensemble d'instructions.
  3. Sur la ligne, supprimez la valeur SPECIAL_REGISTER_GROUPING_INCONSISTENT associée à l'option StaticBinder -configureWarning. Supprimez l'option si aucune autre valeur n'est indiquée.

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.

MULTI_SRINFO
Pour chacune des instructions SQL de l'ensemble d'instructions, l'instruction a été capturée plusieurs fois. Pour les différentes captures, des valeurs des registres spéciaux différentes ont été enregistrées. L'utilitaire Configure répertorie les options de liaison correspondant aux ensembles de valeurs des registres spéciaux indiqués dans le fichier d'options.

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.

Utilisez les options de liaison répertoriées par l'utilitaire Configure pour effectuer les opérations suivantes :
  1. Créez un ensemble d'options de liaison qui génère un comportement correct lorsque vous exécutez les instructions SQL de l'ensemble d'instructions en mode statique.
  2. Ajoutez les options de liaison à l'entrée de l'ensemble d'instructions.
  3. Dans l'entrée, supprimez la valeur MULTIPLE_SPECIAL_REGISTER_VALUE_SETS associée à l'option StaticBinder -configureWarning. Supprimez l'option si aucune autre valeur n'est indiquée.

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.

NO_SRINFO
Aucune information du registre spécial n'est enregistrée pour les instructions SQL de l'ensemble d'instructions.
La liste ci-après indique pourquoi les informations du registre spécial n'ont pas été enregistrées avec les instructions SQL :
  • Les instructions SQL ont été capturées avec une version plus ancienne de pureQuery Runtime qui ne prend pas en charge l'enregistrement des informations du registre spécial.

    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.

  • Le compte utilisateur indiqué pour capturer les instructions SQL ne possède pas les droits requis pour accéder aux informations du registre spécial.

    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.

  • Les instructions SQL ont été ajoutées au fichier pureQueryXML avec l'utilitaire GeneratePureQueryXml.

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.

NOT_GROUPED
Les instructions SQL de l'ensemble d'instructions ne sont pas regroupées en fonction des paramètres desregistres spéciaux. En revanche, les instructions SQL des autres ensembles d'instructions sont regroupées en fonction des paramètres des registres spéciaux.
Si des valeurs de registres spéciaux sont nécessaires pour assurer le bon fonctionnement des instructions SQL dans les ensembles d'instructions, regroupez les instructions SQL en fonction des paramètres des registres spéciaux. Utilisez l'une des méthodes suivantes :
  • Utilisez l'éditeur pureQueryXML dans IBM Data Studio pour supprimer les noms des ensembles d'instructions. Réexécutez ensuite l'utilitaire Configure et associez l'option -groupSQLBySpecialRegisters à la valeur TRUE.
  • Exécutez l'utilitaire Configure et indiquez les options -cleanConfigure et -groupSQLBySpecialRegisters en les associant à la valeur TRUE. N'utilisez pas l'option -cleanConfigure si vous devez conserver des ensembles d'instructions existants.

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.

SQLGroupedByStrings(chaînes)
Marque d'informations. Les instructions SQL de l'ensemble d'instructions sont regroupées en fonction des chaînes indiquées.

Pour plus d'informations sur la méthode de regroupement des instructions SQL, reportez-vous à l'option -groupSQLByStrings de l'utilitaire Configure.

Marques de commentaire pour les ensembles de valeurs des registres spéciaux

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.

L'exemple de commentaire suivant contient des marques pour un ensemble de valeurs des registre spéciaux :
# 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.

minimumDivideScale(échelle)
Marque d'avertissement. Dans l'ensemble de valeurs des registres spéciaux associé, la valeur du registre spécial CURRENT PRECISION inclut l'échelle de division minimum indiquée pour les opérations de division. Le format de la valeur du registre spécial CURRENT PRECISION est Dpp.s. La variable pp représente la précision et correspond à 15 ou à 31. L'utilitaire Configure génère l'option de liaison DEC pour indiquer la précision. La variable s représente l'échelle de division minimum facultative. La valeur de s est un entier compris entre 1 et 9. La valeur des est la valeur de la variable échelle de la marque minimumDivideScale(échelle). 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.

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.

missingSpecialRegValueId(ID)
Marque d'avertissement. Les instructions SQL de l'ensemble d'instructions sont associées à des ensembles de valeurs des registres spéciaux dans la liste ID. Toutefois, les ensembles de valeurs des registres spéciaux ne sont pas définis 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.

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.

Vous pouvez extraire la définition de l'ensemble des valeurs des registres spéciaux de l'une des manières suivantes :
  • Si vous avez modifié le fichier manuellement et supprimé la définition de l'ensemble de valeurs des registres spéciaux, annulez les modifications qui supprimaient la définition.
  • Supprimez l'ensemble d'instructions et capturez une nouvelle fois les instructions SQL de l'ensemble d'instructions.

Si vous ne parvenez pas à récupérer la définition, il est possible que les instructions SQL n'aient pas un comportement correct lors de leur exécution 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.

specialRegValueId(ID)
Marque d'informations. Pour les instructions SQL de l'ensemble d'instructions, pureQuery Runtime a enregistré les ensembles de valeurs des registres spéciaux répertoriés par ID. La valeur ID peut être un ou plusieurs ID du registre spécial. Si plusieurs ensembles de valeurs des registres spéciaux sont associés à l'ensemble d'instructions, l'utilitaire Configure sépare chaque ID avec une virgule.

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.

Un ID de registre spécial peut avoir l'un des formats suivants :
  • Un entier unique indiquant l'ID de l'ensemble de valeurs des registre spéciaux.
  • chemin_fichier_pureQueryXml:ID, un nom de fichier et un entier séparé par le signe deux points.

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

specialRegValueId(NONE)
Marque d'avertissement. L'ensemble d'instructions contient des instructions SQL qui sont associées à des informations de registre spécial et des instructions SQL qui ne sont pas associées à des informations de registre spécial.

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

SQLID(idsql)
Marque d'avertissement. La valeur idsql est la valeur du registre spécial CURRENT SQLID dans l'ensemble de valeurs des registres spéciaux associé. La marque n'est pas incluse lorsque la valeur du registre spécial CURRENT SQLID correspond à la valeur du registre spécial CURRENT SCHEMA.

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.

Avant d'utiliser les options de liaison pour l'ensemble d'instructions, effectuez les opérations suivantes pour vérifier que vous utilisez les options appropriées :
  1. Déterminez si la valeur CURRENT SQLID est nécessaire pour assurer la bonne exécution des instructions SQL de l'ensemble d'instructions.
  2. Créez un ensemble d'options de liaison qui génère un comportement correct lorsque vous exécutez les instructions SQL de l'ensemble d'instructions en mode statique.

    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.

  3. Si nécessaire, mettez à jour l'entrée de l'ensemble d'instructions dans le fichier d'options pour prendre en compte cet ensemble d'options de liaison.

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.

unrecognizedSpecialRegisters(registres-spéciaux)
Marque d'avertissement. Un ou plusieurs ensembles de registres spéciaux comprennent un ou plusieurs registres spéciaux que l'utilitaire Configure ne reconnaît pas.

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.

UNTRACKED_SET
Marque d'avertissement. Les instructions SQL exécutées avec l'ensemble de valeurs des registres spéciaux associé ont été lancées une fois que l'application a exécuté l'instruction SQL SET pour un registre spécial que l'optimisation client pureQuery n'enregistre pas.

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.

Avant d'utiliser les options de liaison pour l'ensemble d'instructions, effectuez les opérations suivantes pour vérifier que vous utilisez l'option appropriée :
  1. Reportez-vous à l'application et à tous les fichiers pureQueryXML capturés pour identifier les instructions SQL SET exécutées pour des registres spéciaux qui ne sont pas contrôlés par pureQuery Runtime et qui sont considérés comme sécurisés. Pour plus d'informations sur les données des registres spéciaux enregistrées lors de la capture des instructions SQL, voir Suivi des changements apportés au registre spécial DB2 à l'aide de l'optimisation client pureQuery.
  2. Pour les instructions SQL SET de l'ensemble d'instructions, déterminez si elles sont nécessaires à la bonne exécution des instructions SQL de l'ensemble d'instructions.
  3. Créez un ensemble d'options de liaison qui génère un comportement correct lorsque vous exécutez les instructions SQL de l'ensemble d'instructions en mode statique.
  4. Si nécessaire, mettez à jour l'entrée de l'ensemble d'instructions dans le fichier d'options pour prendre en compte cet ensemble d'options de liaison.

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.


Commentaires