Pour les bases de données DB2, la modification des valeurs des registres spéciaux peut voir une incidence sur le comportement de l'application. Par exemple, le registre spécial CURRENT DECFLOAT ROUNDING MODE peut avoir une incidence sur les données renvoyées par une instruction SQL. Supposons que la valeur du registre spécial corresponde à ROUND_CEILING lors de la capture d'une instruction SQL. Vous liez ensuite les instructions SQL dans le fichier pureQueryXML avec l'option de liaison qui associe le paramètre équivalent à la valeur ROUND_FLOOR. Lorsque l'application exécute les instructions SQL en mode statique, les données renvoyées peuvent être différentes si elles dépendent de la valeur du registre spécial. Les résultats peuvent être différents même si aucun changement n'a été apporté au code d'application.
Lorsque l'optimisation client pureQuery capture une instruction SQL pendant l'exécution d'une application, elle contrôle et enregistre certaines valeurs des registres spéciaux. Lors de la fusion et de la configuration des données SQL capturées, les informations des registres spéciaux enregistrées avec l'instruction SQL sont conservées avec l'instruction.
Voici ci-dessous les catégories pureQuery de registres spéciaux :
Les informations des registres spéciaux enregistrées sont stockées dans le fichier pureQueryXML sous la forme d'un ensemble de valeurs des registres spéciaux. Ces informations peuvent être utilisées pour créer des ensembles d'instructions lors de la configuration des fichiers pureQueryXML avec l'utilitaire Configure. Les informations des registres spéciaux sont visibles lorsque vous visualisez le fichier pureQueryXML dans l'éditeur pureQueryXML du plan de travail.
Vous pouvez utiliser les options -groupSQLBySpecialRegisters et -optionsFileForBind de l'utilitaire pureQuery Configure pour vous aider à exécuter des instructions SQL en mode statique. Elles peuvent être indiquées séparément ou non.
L'option -groupSQLBySpecialRegisters regroupe les instructions SQL en ensembles d'instructions en fonction des informations des registres spéciaux enregistrées lors de la capture des instructions.
L'option -optionsFileForBindcrée un fichier d'options StaticBinder. Le fichier d'options StaticBinder contient les options de liaison des ensembles d'instructions du fichier pureQueryXML. Les options de liaison reposent sur les informations des registres spéciaux enregistrées avec les instructions SQL. Le fichier contient également des commentaires avec des informations et des avertissements sur les ensembles d'instructions, les instructions SQL et les informations des registres spéciaux du fichier pureQueryXML.
Les options de l'utilitaire Configure permettent de regrouper les instructions SQL en fonction des informations des registres spéciaux et de générer un fichier d'options StaticBinder contenant les options de liaison. Les options de liaison et les autres informations du fichier vous aident à indiquer un ensemble d'options de liaison pour exécuter une instruction SQL en mode statique en obtenant un comportement comparable à celui généré avec une exécution dynamique lancée à partir de l'application. Lorsque vous avez un ensemble d'options de liaison, utilisez le programmeStaticBinder, les options et le fichier pureQueryXML pour lier les packages à une base de données.
Le tableau suivant répertorie les registres spéciaux enregistrés par pureQuery Runtime et les options de liaison associées.
Registre spécial | Option de définition des accès | Notes |
---|---|---|
CURRENT DECFLOAT ROUNDING MODE1 | ROUNDING for DB2 for z/OS et DB2 for System i. Pas d'option de liaison pour DB2 for Linux, UNIX et Windows |
L'option de liaison ROUNDING n'est pas disponible pour toutes les bases de données DB2. Les bases de données qui ne prennent pas en charge cette option de liaison génèrent un avertissement lorsqu'elle est utilisée. |
CURRENT PATH | FUNCPATH pour DB2 for Linux, UNIX et Windows PATH ou FUNCPATH for DB2 for z/OS et DB2 for System i |
Lors de la génération d'un fichier d'options StaticBinder, l'utilitaire Configure indique l'option de liaison FUNCPATH. |
CURRENT PRECISION2 | DEC | La valeur du registre spécial CURRENT PRECISION peut inclure les valeurs de la précision et de l'échelle de division minimum pour les opérations de division. La valeur des options de liaison ne doit pas inclure la valeur de l'échelle de division minimum. Lorsque vous générez un fichier d'options StaticBinder, l'utilitaire Configure émet un avertissement si la valeur d'une échelle de division minimum est détectée dans la valeur CURRENT PRECISION. |
CURRENT SCHEMA3 | QUALIFIER | |
CURRENT SQLID3 | QUALIFIER for DB2 for Linux, UNIX et DB2 for System
i Pas d'option de liaison pour DB2 for z/OS |
Lors de la génération d'un fichier d'options StaticBinder, l'utilitaire Configure génère un avertissement si les valeurs des registres spéciaux CURRENT SCHEMA et CURRENT SQLID sont différentes. Pour DB2 for z/OS, l'option de liaison OWNER peut être utilisée dans certaines situations. |