Syntaxe d'exécution de l'utilitaire StaticBinder pour l'optimisation client avec un fichier d'options

Vous pouvez utiliser une commande et un fichier d'options pour indiquer les noms des fichiers pureQueryXML et les options de création de packages DB2 ou de fichiers DBRM reposant sur ces fichiers. Vous pouvez également utiliser un fichier d'options même si vous ne disposez que d'un seul fichier pureQueryXML.

Vous pouvez faire figurer les fichiers pureQueryXML dans la commande et n'utiliser que l'entrée defaultOptions dans le fichier d'options.

Vous pouvez faire figurer des fichiers pureQueryXML dans la commande et le fichier d'options. Si un fichier figure à la fois dans la commande et le fichier d'options, l'utilitaire StaticBinder le traite. Si un fichier figure dans le fichier d'options, mais pas dans la commande, l'utilitaire StaticBinder ne le traite pas. Si un fichier figure dans la commande, mais pas dans le fichier d'options, l'utilitaire StaticBinder le traite avec les options de la ligne de commande et dans l'entrée defaultOptions du fichier d'options.

Lorsque vous exécutez l'utilitaire StaticBinder à partir d'une ligne de commande et que vous utilisez un fichier d'options, l'utilitaire reconnaît les options selon l'ordre de priorité suivant :
  1. Options dans la ligne de commande
  2. Options pour des fichiers pureQueryXML et des ensembles d'instructions individuels qui se trouvent dans le fichier d'options spécifié
  3. Options par défaut dans le fichier d'options spécifié
Lire le diagrammeSauter le diagramme
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

>--+--------------------------------------------------------------------------------------------------------------------------------+-->
   |  (2)                                                                                                                           |   
   '------- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données-- -username--ID-utilisateur-- -password--motdepasse-'   
                                                '-:--port-'                                                                             

>--+-------------------------------------------------------------------+-->
   |                 .-----------------------------------------------. |   
   |                 V                                               | |   
   '- -pureQueryXml----+-fichier_pureQueryXML----------------------+-+-'   
                       '-fichier-pureQueryXML--:--nom-package-base-'       

>-- -optionsFile--nom_fichier----------------------------------->

>--+-----------------------------+------------------------------>
   |                   .-FALSE-. |   
   '- -differenceOnly--+-TRUE--+-'   

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

                         .-NOT_SET------.   
>-- -statementBindError--+-REMOVE-------+----------------------->
                         '-MARK_INVALID-'   

>--+--------------------------+--------------------------------->
   |                      (3) |   
   '-| Options de trace |-----'   

>--+-------------------------------+---------------------------->
   '- -verifyPackages--+-DETAIL--+-'   
                       '-SUMMARY-'     

>--+--------------------------+--------------------------------><
   |                .-FALSE-. |   
   '- -validateXml--+-TRUE--+-'   

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Si vous ne précisez pas d'URL, d'ID utilisateur et de mot de passe dans la commande, vous devez les indiquer dans le fichier d'options, si vous ne créez pas uniquement des fichiers DBRM.
  3. Pour la syntaxe, voir la description de ces options.

Descriptions des options

-optionsFile nom_fichier
Nom du fichier, chemin absolu ou relatif inclus, qui répertorie les fichiers pureQueryXML contenant les instructions SQL pour lesquelles vous voulez définir des accès.
-password mot_de_passe
Mot de passe à utiliser pour établir la connexion à la source de données.
-pureQueryXml fichier-pureQueryXML|fichier-pureQueryXML:nom-package-base
Spécifie le fichier pureQueryXML qui contient les ensembles d'instructions SQL dont vous voulez définir les accès en tant que package ou un seul ensemble d'instructions SQL dont vous voulez définir les accès en tant que package. Vous pouvez spécifier plusieurs valeurs.
fichier_pureQueryXML
Nom du fichier pureQueryXML. Par exemple,C:\directory\captureFile.pdqxml .
Ce fichier doit avoir l'extension .pdqxml ou .xml. Il doit s'agir d'une ressource placée dans le chemin d'accès aux classes de l'application, ou bien vous devez indiquer le chemin complet ou relatif de ce fichier.
fichier-pureQueryXML:nom-package-base
Nom du fichier pureQueryXML et nom de base du package pour lequel les accès doivent être définis. Par exemple, C:\directory\captureFile.pdqxml:MYPKGA .

Le fichier doit avoir l'extension .pdqxml ou .xml. Il doit s'agir d'une ressource placée dans le chemin d'accès aux classes de l'application, ou bien vous devez indiquer le chemin complet ou relatif de ce fichier.

Le nom de base du package est la valeur de l'attribut name de l'élément package qui décrit le package dans le fichier pureQueryXML. Le nom de base est constitué de deux parties :
  • Le nom du package racine
  • Tout caractère que l'utilitaire Configure ajoute au nom du package racine lorsque plusieurs noms de package sont nécessaires. Par exemple, l'utilitaire crée plusieurs packages lorsque le nombre d'instructions SQL d'un ensemble d'instructions dépasse la valeur de l'option -sqlLimit de l'utilitaire Configure.
Remarque : Si vous avez indiqué l'option -forceSingleBindIsolation de l'utilitaire Configure lors de la configuration du fichier pureQueryXML, l'utilitaire StaticBinder n'ajoute pas d'entier au nom de package. L'entier représente le niveau d'isolement applicable à toutes les instructions SQL figurant dans le package.
si vous utilisez -pureQueryXml conjointement avec -optionsFile dans une seule commande, un certain nombre de sorties sont possibles. Voir Utilisation d'un fichier d'options lors de la spécification des fichiers pureQueryXML et des ensembles d'instructions dans une commande.
-differenceOnlyTRUE|FALSE
Indique de ne pas remplacer les packages DB2 ayant des noms de collection, de package et des marques de cohérence qui correspondent à ces valeurs pour les ensembles d'instructions se trouvant dans le fichier pureQueryXML sur lequel vous exécutez l'utilitaire StaticBinder.

Par exemple, supposez que vous avez exécuté l'utilitaire StaticBinder sur un fichier pureQueryXML appelé capture.pdqxml. L'utilitaire crée les package MYPKGA, MYPKGB et MYPKGC. Vous modifiez ensuite l'ensemble d'instructions MYPKGA dans capture.pdqxml avec le plan de travail et vous exécutez l'utilitaire Configure sur ce fichier, avec l'option -cleanConfigure associée à sa valeur par défaut FALSE. L'utilitaire Configure affecte une nouvelle marque de cohérence à l'ensemble d'instructions car ce jeu a été modifié. Lorsque vous exécutez à nouveau l'utilitaire StaticBinder sur capture.pdqxml pour définir les accès de la nouvelle version de MYPKGA, vous spécifiez -differenceOnly TRUE. L'utilitaire redéfinit uniquement les accès de MYPKGA et non ceux des deux autres packages.

La valeur par défaut est FALSE.
Options de trace
Vous pouvez demander à ce que le fichier journalise les messages et préciser le niveau d'information à journaliser.
Lire le diagrammeSauter le diagramme
>>-+--------------------------+--------------------------------->
   '- -traceFile--nom_fichier-'   

>--+---------------------------+-------------------------------><
   |               .-OFF-----. |   
   '- -traceLevel--+-ALL-----+-'   
                   +-SEVERE--+     
                   +-WARNING-+     
                   +-INFO----+     
                   +-CONFIG--+     
                   +-FINE----+     
                   +-FINER---+     
                   '-FINEST--'     

-traceFile nom_fichier
Indique le chemin absolu ou relatif ainsi que le nom du fichier à utiliser pour la journalisation des informations relatives à l'opération.
Si le fichier existe déjà, pureQuery ajoute les nouveaux messages à la suite des messages déjà placés dans ce fichier. Par défaut, les entrées sont écrites dans System.err.
-traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
Indique le type d'informations à journaliser. Le niveau par défaut est OFF. Si vous ne spécifiez pas de fichier dans lequel écrire les entrées de journal et que vous associez cette option à une valeur autre qu'OFF, les entrées sont écrites dans System.err.
-showDetails TRUE|FALSE
Indique si l'utilitaire StaticBinder doit afficher des informations détaillées sur les packages DB2 qu'il produit et sur les instructions SQL contenues dans les fichiers pureQueryXML qu'il traite.
La valeur par défaut est false.
-statementBindError NOT_SET|MARK_INVALID|REMOVE
Indique comment l'utilitaire StaticBinder gère les instructions SQL dans le fichier pureQueryXML lorsque le processus de liaison renvoie une erreur SQL à l'instruction. Il n'existe pas de valeur par défaut. Si l'option n'est pas définie, l'utilitaire StaticBinder signale les instructions SQL qui renvoient une erreur SQL pendant le processus de liaison à mesure qu'elles se manifestent. La liste suivante décrit les valeurs prises en charge et la manière dont les instructions SQL sont gérées :
NOT_SET
Indique que les instructions SQL du fichier pureQueryXML ne sont pas modifiées. Cette valeur correspond à la valeur par défaut.
MARK_INVALID
Indique que le fichier pureQueryXML est mis à jour afin de signaler que l'instruction SQL est non valide lorsque des tentatives de liaison génèrent une erreur SQL. Les erreurs SQL et les instructions SQL qui sont marquées comme étant non valides sont affichées à la fin de l'opération de liaison de l'ensemble d'instructions contenant les instructions.

Les instructions SQL qui ont été précédemment marquées comme étant non valides n'apparaissent pas dans le rapport.

Vous pouvez restaurer les instructions SQL marquées comme étant non valides à l'aide de l'option de configuration -restoreInvalidSQLForce. Vous pouvez supprimer des instructions à l'aide de l'option -removeInvalidSQL.

REMOVE
Indique que l'instruction SQL est supprimée du fichier pureQueryXML lorsque la tentative de liaison génère une erreur SQL. Les erreurs SQL et les instructions SQL qui sont supprimées sont affichées à la fin de l'opération de liaison de l'ensemble des instructions contenant les instructions. Les instructions SQL qui ont été précédemment marquées comme étant non valides sont aussi supprimées.
ATTENTION :
Si vous utilisez cette option avec la valeur MARK_INVALID ou REMOVE, votre fichier pureQueryXML peut être modifié. L'utilitaire met à jour le fichier afin de marquer une instruction SQL comme étant non valide ou supprimer l'instruction du fichier.

Si l'option -statementBindError est spécifiée avec la valeur MARK_INVALID ou REMOVE, les fichiers pureQueryXML doivent être accessibles en écriture. Si l'utilitaire StaticBinder ne peut pas mettre le fichier à jour, une erreur s'affiche et le fichier n'est pas traité.

Les éléments suivants affectent la capacité de l'utilitaire StaticBinder à détecter des instructions SQL non valides :
  • La spécification de l'option StaticBinder -differenceOnly avec la valeur TRUE. L'utilitaire StaticBinder n'essaie pas de lier toutes les instructions SQL. Il détecte les instructions SQL non valides dans les ensembles d'instructions qu'il n'essaie pas de lier.
  • La spécification de l'option de liaison SQLERROR (CONTINUE) ou VALIDATE (RUN) avec l'option StaticBinder -bindOptions. Si l'une des options BIND est indiquée, les diagnostics DB2 devant être signalés en tant qu'erreurs SQL sont signalés à la place comme avertissements SQL. L'utilitaire StaticBinder ne reconnaît pas les instructions SQL comme étant des instructions non valides lorsque les diagnostics signalent des avertissements SQL.

L'option -statementBindError n'est pas prise en charge lors de la liaison des classes d'implémentation de l'interface pureQuery DAO (Data Access Object). Si l'utilitaire StaticBinder n'est pas exécuté pour lier une classe d'implémentation et que l'option est spécifiée avec la valeur MARK_INVALID ou REMOVE, l'utilitaire affiche un avertissement et n'essaie pas de lier les classes.

Remarque : Les instructions SQL non valides sont des instructions qui renvoient une erreur SQL lors d'une tentative de liaison. Toutefois, des modifications peuvent être apportées à un objet de base de données afin que les instructions SQL ne référencent pas cet objet comme étant non valide. Ces modifications risquent d'affecter l'application qui exécute l'instruction SQL. Par exemple : une instruction est non valide si la définition d'une colonne type, référencée par l'instruction, passe de VARCHAR(20) à VARCHAR(100).
-url URL_connexion
URL JDBC de type 4 pour la connexion à la base de données.
Si vous liez des instructions SQL qui utilisent des marqueurs de paramètre nommés, vous devez indiquer la propriété enableNamedParameterMarkers avec la valeur 1 lorsque vous définissez la connexion à la source de données. Dans l'exemple suivant, l'option -url permet de se connecter à la base de données SAMPLE sur testserver.test.com et de définir la propriété enableNamedParameterMarkers:
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
-username ID-utilisateur
ID utilisateur à indiquer pour établir la connexion à la source de données.
-verifyPackages DETAIL|SUMMARY
Indique si l'utilitaire StaticBinder génère un rapport sur les packages existants et non existants pour les instructions SQL associées au fichier pureQueryXML. Si vous utilisez cette option, l'utilitaire StaticBinder ne définit pas l'accès aux packages.

Par exemple, admettons que vous exécutiez l'utilitaire Configure sur un fichier pureQueryXML appelé myApp.pdqxml. Lors de l'exécution de l'utilitaire, vous avez indiqué les valeurs des options -collection, -pkgVersion, et -rootPkgName, et l'utilitaire a stocké ces valeurs dans le fichier pureQueryXML. Vous exécutez l'utilitaire StaticBinder, en indiquant le nom de ce fichier, et l'utilitaire crée les packages DB2.

Plus tard, vous souhaitez afficher une liste des packages créés par l'utilitaire StaticBinder à partir du fichier pureQueryXML. Lorsque vous exécutez l'utilitaire, vous pouvez utiliser l'option -verifyPackages, en indiquant la valeur DETAIL, puis en indiquant à nouveau le nom du fichier.

L'option -verifyPackages ne fonctionne pas si, suite à l'exécution de l'utilitaire Configure puis de l'utilitaire StaticBinder sur un fichier pureQueryXML, vous avez exécuté à nouveau l'utilitaire Configure sur ce fichier et indiqué des valeurs différentes pour les options -collection, -pkgVersion, et -rootPkgName.

Si vous avez exécuté l'utilitaire Configure sur myApp.pdqxml après l'exécution de l'utilitaire StaticBinder et que vous avez modifié la valeur de l'une des options -collection, -pkgName ou -rootPkgName, l'utilitaire StaticBinder ne détecte pas de packages correspondant à ces nouvelles valeurs. Dans son rapport, l'utilitaire StaticBinder indique que les packages recherchés sont introuvables.

Si les valeurs des options -collection, -pkgVersion, et -rootPkgName sont identiques à celles définies lors de la précédente exécution de l'utilitaire StaticBinder, l'utilitaire trouve les packages et les répertorie.

Vous pouvez indiquer cette option avec l'option -bindOptions. Cependant, l'utilitaire StaticBinder ne définira pas les accès des packages. Utilisez -bindOptions uniquement pour indiquer la collecte des packages que vous souhaitez vérifier si vous avez utilisé cette option pour spécifier la collecte lors de la création des packages.

DETAIL
Génère un rapport expliquant les informations suivantes, basées sur les valeurs des options -collection, -pkgVersion, et -rootPkgName:
  • Packages existants.
  • Packages non existants. Pour chaque package, le rapport répertorie le nom, la marque de cohérence, l'horodatage, et le niveau d'isolement.
  • Nombre de packages existants et non existants.
SUMMARY
Génère un rapport qui énumère les packages existants et non existants, en fonction des valeurs des options -collection, -pkgVersion, et -rootPkgName.
-validateXml TRUE|FALSE
Indique si la validation de schéma XML est effectuée dans les fichiers pureQueryXML en entrée à l'aide du schéma pureQueryXML. Si la valeur est définie sur TRUE, la validation est effectuée. Si la valeur est définie sur FALSE ou si l'option n'est pas définie, la validation n'est pas effectuée.

La réussite ou l'échec de la validation du schéma XML est déterminée et rapportée dans chaque fichier en entrée. Si un fichier en entrée échoue, l'exécution de l'utilitaire StaticBinder ne s'arrête pas et les fichiers ultérieurs seront traités.

Si un fichier pureQueryXML échoue lors de la validation de schéma, les packages contenus dans ce fichier ne seront pas liés. La première erreur de validation de schéma et l'échec de liaison pour le fichier sont reportés.

Seules les versions actuelle ou précédente des fichiers pureQueryXML sont validées (version 4 ou 3). Si une version antérieure de pureQueryXML est détectée, la validation ne s'effectue pas sur ce fichier.


Commentaires