Utilitaire StaticBinder, tel qu'il est utilisé pour les méthodes annotées

Si vous utilisez le style de programmation méthode annotée et une base de données DB2, vous pouvez utiliser l'utilitaire StaticBinder de pureQuery pour lier les instructions SQL de vos méthodes annotées à cette source de données. Vous pouvez également utiliser StaticBinder pour générer des fichiers DBRM.

Pour comprendre les conventions utilisées dans les diagrammes, voir Lecture des diagrammes de syntaxe.

Présentation

Les applications qui utilisent du SQL imbriqué lié statiquement à des modules DB2 ont des avantages inhérents en termes de performances, de fiabilité, de sécurité, de surveillance et d'administration.

Avant d'exécuter l'utilitaire StaticBinder, exécutez l'utilitaire Generator de pureQuery afin de générer les classes d'implémentation pour les interfaces contenant les instructions SQL que vous souhaitez lier. Lors de l'exécution de l'utilitaire Generator de pureQuery, toutes les informations nécessaires à la création d'un module DB2 statique sont collectées et stockées dans la classe d'implémentation générée. Il s'agit d'instructions SQL et de toutes les informations relatives au type de données applicable à partir des définitions de classe Java et de toutes les métadonnées de colonne ou de paramètre provenant de la base de données cible. Les informations comprennent également les noms de module racine et, éventuellement, les ID collection et versions des modules DB2.

L'utilitaire StaticBinder consulte ces information dans les classes d'implémentation lors de la création et de la liaison des modules DB2. Lors de l'exécution de l'utilitaire StaticBinder, sur la ligne de commande, vous pouvez spécifier les classes d'implémentation à consulter ou les interfaces correspondant à ces classes. Si vous utilisez un fichier d'options, vous pouvez spécifier une ou plusieurs interfaces. L'utilitaire StaticBinder consulte les informations dans les classes d'implémentation correspondantes.

Par défaut, l'utilitaire pureQuery StaticBinder crée quatre modules ou fichiers DBRM, un pour chaque niveau d'isolement DB2. L'utilitaire pureQuery StaticBinder identifie le niveau d'isolement en ajoutant les chiffres suivants aux noms racine des modules ou des fichiers DBRM :
1
Pour le niveau d'isolement Lecture non validée (UR)
2
Pour le niveau d'isolement Lecture non reproductible (CS)
3
Pour le niveau d'isolement Lecture stable (RS)
4
Pour le niveau d'isolement Lecture reproductible (RR)

Cependant, si vous utilisez l'option -forceSingleBindIsolation lorsque vous utilisez l'utilitaire Generator, le numéro de niveau d'isolement n'est pas associé au nom du package créé.

Si vous utilisez l'option -isolationLevel lors d'une liaison ou si vous indiquez le niveau d'isolement dans la chaîne des options de liaison, seul le module ou le fichier DBRM associé au niveau d'isolement indiqué est créé. Le nom suit les conventions que l'utilitaire StaticBinder adopte lors de la création des modules ou des fichiers DBRM pour chacun des quatre niveaux d'isolement.

Utilisation des fichiers d'options

Un fichier d'options répertorie la ou les interfaces que l'utilitaire pureQuery StaticBinder doit traiter, ainsi que les options indiquant à l'utilitaire StaticBinder comment traiter les interfaces. Vous pouvez définir les options par défaut s'appliquant à toutes les interfaces répertoriées dans un fichier d'options. Vous pouvez également définir des options d'interfaces afin de remplacer les options par défaut et d'en définir d'autres spécifiques aux interfaces individuelles.

Dans la commande d'exécution de l'utilitaire StaticBinder, vous pouvez indiquer le fichier à utiliser avec l'option -optionsFile.

Par exemple, un fichier d'options simple pour l'utilitaire pureQuery StaticBinder peut se présenter comme suit :
defaultOptions = -bindOptions "QUALIFIER qual1" -traceFile C:\logs\staticbinder.txt -traceLevel ALL -url jdbc:db2://SRVR01:50000/DB01 -username user01 -password pass01
com.myCompany.MyInterfaceA = -bindOptions "QUALIFIER qual2"
com.myCompany.MyInterfaceB
com.myCompany.MyInterfaceC = -url jdbc:db2://SRVR01:50001/DB02 -username user02 -password pass02
Dans cet exemple, la ligne commençant par defaultOptions indique le qualificatif des packages DB2 et définit l'URL de connexion par défaut. La ligne indique également le fichier dans lequel les messages sont journalisés. La ligne suivante indique une interface avec un qualificatif qui remplace le qualificatif par défaut. La ligne suivante indique une interface à laquelle toutes les options par défaut s'appliquent. La dernière ligne indique une interface dont l'accès doit être défini sur une base de données différente.
Vous pouvez également insérer des commentaires dans les fichiers d'options en insérant le symbole # au début de chaque ligne de commentaire. Si ce symbole doit également apparaître dans la valeur de l'une des options, placez la valeur entre guillemets, comme suit :
-pkgVersion "ver#1"
Lorsque vous exécutez l'utilitaire StaticBinder à partir d'une ligne de commande et utilisez un fichier d'options, pureQuery reconnaît les options selon l'ordre de priorité suivant :
  1. Options dans la ligne de commande
  2. Options pour les interfaces individuelles dans le fichier d'options indiqué
  3. Options par défaut dans le fichier d'options spécifié

Autorisation

L'ensemble de privilèges de l'utilisateur qui appelle l'utilitaire doit inclure l'un des droits suivants :
  • Le droit SYSADM
  • Le droit DBADM
  • Si le module n'existe pas, le privilège BINDADD ainsi que l'un des privilèges suivants :
    • Le privilège CREATEIN
    • DB2 for z/OS : le droit PACKADM pour la collection ou pour toutes les collections
    • DB2 Database for Linux, UNIX, and Windows : le droit IMPLICIT_SCHEMA pour la base de données si le nom de schéma du module n'existe pas
  • Si le module existe :
    • DB2 for z/OS : le privilège BIND pour le module
    • DB2 Database for Linux, UNIX, and Windows : le privilège ALTERIN pour le schéma et le privilège BIND pour le module
Par ailleurs, l'utilisateur doit également disposer de tous les privilèges nécessaires pour compiler toutes les instructions SQL statiques présentes dans l'application. Les privilèges accordés aux groupes ne permettent pas de vérifier les autorisations pour les instructions statiques.

DB2 Database for Linux, UNIX, and Windows : Si l'utilisateur dispose du droit SYSADM mais sans privilèges explicites pour la définition d'accès, le gestionnaire de la base de données DB2 accorde automatiquement un droit DBADM explicite.

Syntaxe de la commande d'exécution de l'utilitaire StaticBinder si vous utilisez une liaison à partir d'une archive

Vous pouvez utiliser cette commande pour exécuter l'utilitaire StaticBinder sur une archive contenant votre application. L'archive doit contenir les interfaces et classes d'implémentation à fournir à l'utilitaire StaticBinder. Utilisez un fichier d'options avec l'extension .bindProps dans lequel figurent les interfaces et classes d'implémentation.

L'utilitaire StaticBinder crée un module pour chaque interface ou classe d'implémentation que vous spécifiez. Si vous n'avez pas utilisé l'option rootPkgName lors de l'exécution de l'utilitaire Generator, le nom racine de chaque module est l'un ou l'autre de ces deux noms racine :
  • Si votre base de données ne prend pas en charge les longs noms de module : le nom racine correspond au sept premiers caractères du nom de l'interface correspondante. Si plusieurs interfaces portent des noms commençant par les sept mêmes caractères, le module créé pour la deuxième de ces interfaces remplace celui créé pour la première, le module créé pour la troisième de ces interfaces remplace celui créé pour la deuxième, et ainsi de suite.
  • Si votre base de données prend en charge les longs noms de module : le nom racine est le nom complet de l'interface correspondante.
Lire le diagrammeSauter le diagramme
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                         
>-------- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données-->
                                              '-:--port-'                       

>-- -username--username-- -password--password------------------->

>-- -archive-- -nom_fichier--+-.ear-+--------------------------->
                             +-.jar-+   
                             +-.war-+   
                             '-.zip-'   

>--+------------------------------------------------------------------------------------+-->
   |                  (3)                                                               |   
   +-| options DBRM |-------------------------------------------------------------------+   
   +- -bindOptions-- -"--options_définition_accès--"--+-------------------------------+-+   
   |                                                  '- -verifyPackages--+-DETAIL--+-' |   
   |                                                                      '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------------------'   
                       '-SUMMARY-'                                                          

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+--------------------------+--><
   '- -isolationLevel--+-CS-+-'  |                      (5) |   
                       +-RR-+    '-| options de trace |-----'   
                       +-RS-+                                   
                       '-UR-'                                   

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Les options -url, -username- et -password ne sont pas nécessaires si vous créez uniquement des fichiers DBRM.
  3. Pour la syntaxe, voir la description de ces options.
  4. Pour la syntaxe, voir la description de cette option.
  5. Pour la syntaxe, voir la description de ces options.

Syntaxe de la commande d'exécution de l'utilitaire StaticBinder si vous n'utilisez pas de fichier d'options

Vous pouvez utiliser cette commande pour spécifier le nom des interfaces ou des classes d'implémentation et les options de création d'un module DB2 ou d'un fichier DBRM.

L'utilitaire StaticBinder crée un module pour chaque interface ou classe d'implémentation que vous spécifiez. Si vous n'avez pas utilisé l'option rootPkgName lors de l'exécution de l'utilitaire Generator, le nom racine de chaque module est l'un ou l'autre de ces deux noms racine :
  • Si votre base de données ne prend pas en charge les longs noms de module : le nom racine correspond au sept premiers caractères du nom de l'interface correspondante. Si plusieurs interfaces portent des noms commençant par les sept mêmes caractères, le module créé pour la deuxième de ces interfaces remplace celui créé pour la première, le module créé pour la troisième de ces interfaces remplace celui créé pour la deuxième, et ainsi de suite.
  • Si votre base de données prend en charge les longs noms de module : le nom racine est le nom complet de l'interface correspondante.
Lire le diagrammeSauter le diagramme
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                         
>-------- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données-->
                                              '-:--port-'                       

>-- -username--username-- -password--password------------------->

>--+------------------------------------------------------------------------------------+-->
   |                  (3)                                                               |   
   +-| options DBRM |-------------------------------------------------------------------+   
   +- -bindOptions-- -"--options_définition_accès--"--+-------------------------------+-+   
   |                                                  '- -verifyPackages--+-DETAIL--+-' |   
   |                                                                      '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------------------'   
                       '-SUMMARY-'                                                          

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+--------------------------+--->
   '- -isolationLevel--+-CS-+-'  |                      (5) |   
                       +-RR-+    '-| options de trace |-----'   
                       +-RS-+                                   
                       '-UR-'                                   

                .------------------------.   
                V                        |   
>-- -interface----package_java.interface-+---------------------><

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Les options -url, -username- et -password ne sont pas nécessaires si vous créez uniquement des fichiers DBRM.
  3. Pour la syntaxe, voir la description de ces options.
  4. Pour la syntaxe, voir la description de cette option.
  5. Pour la syntaxe, voir la description de ces options.

Syntaxe de la commande d'exécution de l'utilitaire StaticBinder si vous utilisez un fichier d'options

Vous pouvez utiliser la commande et un fichier d'options pour spécifier le nom des interfaces et les options de création de modules DB2 ou de fichiers DBRM reposant sur chacune de ces interfaces.

Avertissement : Même s'il est possible de spécifier des classes d'implémentation sur une ligne de commande lorsque vous n'utilisez pas de fichier d'options, vous ne pouvez pas en spécifier dans le cas inverse.
Lire le diagrammeSauter le diagramme
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

>--+------------------------------------------------------------------------------------------------------------------+-->
   '- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données-- -username--username-- -password--password-'   
                                          '-:--port-'                                                                     

>--+------------------------------------------------+----------->
   |              .-------------------------------. |   
   |              V                               | |   
   '- -interface----package-java.interface.classe-+-'   

>-- -optionsFile--nom_fichier--+--------------------------+----->
                               |                      (2) |   
                               '-| options de trace |-----'   

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

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Pour la syntaxe, voir la description de ces options.

Syntaxe de spécification des options par défaut dans un fichier d'options pour l'utilitaire StaticBinder

Ce diagramme de syntaxe affiche les options par défaut que vous pouvez définir pour toutes interfaces figurant dans un fichier d'options.

Lire le diagrammeSauter le diagramme
                     (1)   
>>-defaultOptions--=-------------------------------------------->

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

>--+---------------------------------------------------------+-->
   '-+-----------------------------------------------------+-'   
     '-+- -bindOptions-- -"--options_définition_accès--"-+-'     
       |                  (3)                            |       
       '-| options DBRM |--------------------------------'       

>--+----------------+--+--------------------------+------------->
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

>--+--------------------------+--------------------------------><
   |                      (5) |   
   '-| options de trace |-----'   

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Les options -url, -username- et -password ne sont pas nécessaires si vous créez uniquement des fichiers DBRM.
  3. Pour la syntaxe, voir la description de ces options.
  4. Pour la syntaxe, voir la description de cette option.
  5. Pour la syntaxe, voir la description de ces options.

Syntaxe de spécification des options pour les interfaces individuelles dans un fichier d'options pour l'utilitaire StaticBinder

Ce diagramme de syntaxe affiche les options que vous pouvez définir pour chaque interface figurant dans un fichier d'options.

Lire le diagrammeSauter le diagramme
                             (1)   
>>-package_java.interface--=------------------------------------>

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

>--+---------------------------------------------------------+-->
   '-+-----------------------------------------------------+-'   
     '-+- -bindOptions-- -"--options_définition_accès--"-+-'     
       |                  (3)                            |       
       '-| options DBRM |--------------------------------'       

>--+----------------+--+--------------------------+------------><
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Les options -url, -username- et -password ne sont pas nécessaires si vous créez uniquement des fichiers DBRM.
  3. Pour la syntaxe, voir la description de ces options.
  4. Pour la syntaxe, voir la description de cette option.

Exécution de l'utilitaire StaticBinder à partir d'une application

Utilisez la méthode de définition des accès() de la classe com.ibm.pdq.tools.StaticBinder pour définir les accès des instructions SQL de votre application dans les packages DB2 lors de l'exécution. La méthode renvoie une valeur FALSE si l'opération de définition des accès échoue, et une valeur TRUE si elle réussit.

La méthode utilise deux paramètres. Le premier est un tableau de type "chaîne de caractères" utilisé pour passer des arguments dans l'utilitaire StaticBinder. Le second est un objet PrintWriter sur lequel l'utilitaire StaticBinder peut imprimer des messages et des exceptions.

Voici un exemple d'appel de la méthode de définition des accès() :

biner StaticBinder = new StaticBinder ();
PrintWriter  out = new PrintWriter(
	  new FileWriter("BinderOutput.txt"));
String[] argsArray = {"-user","nom_utilisateur","-password","mot_de_passe", 
	  "-url","URL-JDBC","-interface","classe-interface"};
Boolean check=binder.bind(argsArray, out);

Descriptions des options

-archive
Utilisez cette option si vous avez déployé votre application dans un fichier d'archive vers un serveur DB2 et si vous voulez définir des accès pour les instructions SQL en exécutant l'utilitaire StaticBinder sur ce serveur. Les types d'archive pris en charge sont les fichiers .ear, .jar, .war et .zip.
-bindOptions "chaîne_options_définition_accès"
Ces options sont équivalentes aux options DB2 de précompilation et de définition d'accès dont les noms sont identiques. Si vous préparez votre programme en vue de son exécution sur un système DB2 for z/OS, spécifiez des options DB2 for z/OS. Si vous préparez votre programme en vue de son exécution sur un système DB2 for Linux, UNIX, and Windows, spécifiez des options DB2 for Linux, UNIX, and Windows.

La syntaxe de la chaîne est la suivante : "option_1 valeur_1 option_2 valeur_2".

Pour la liste et les descriptions de ces options, voir Commande BIND.
L'option de définition d'accès REOPT peut être utile pour le code pureQuery. Cette option permet d'utiliser des marqueurs de paramètre dans les instructions SQL et offre un nouveau supplément de performances au niveau des chemins d'accès DB2. Consultez les liens suivants pour des informations sur l'utilisation de cette option avec les bases de données DB2 prises en charge :
options DBRM
Utilisez les options DBRM pour générer des fichiers DBRM plutôt que de créer des modules. Ces options ne sont applicables que si vous utilisez DB2 for z/OS.

Une fois les fichiers DBRM créés par l'utilitaire StaticBinder, vous devez les copier dans un fichier. Le nom du fichier DBRM est préfixe.DBRMLIB.DATA, où préfixe représente le qualificatif de haut niveau qui est indiqué dans le profil TSO de l'utilisateur. En règle générale, préfixe correspond à votre ID utilisateur dans TSO.

Si le fichier DBRM n'existe pas, vous devez le créer. Ce fichier doit disposer de suffisamment d'espace pour contenir toutes les instructions SQL, avec un supplément d'espace pour chaque nom de variable hôte ainsi qu'un certain nombre d'informations d'en-tête. Les informations d'en-tête requièrent environ deux enregistrements pour chaque module d'interrogation de base de données (DBRM), et il faut prévoir 20 octets pour chaque enregistrement SQL et 6 octets pour chaque variable hôte. Pour le format DBRM précis, reportez-vous à la macro de mappage DBRM, DSNXDBRM, dans la bibliothèque préfixe.SDSNMACS.

Le diagramme de syntaxe suivant décrit les options permettant de générer des fichiers DBRM.

Lire le diagrammeSauter le diagramme
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--chemin---------><
                   '-FALSE-'                             

-generateDBRM
Indique si des fichiers DBRM doivent être générés à la place de modules. Par défaut, si generateDBRM prend la valeur TRUE, l'utilitaire StaticBinder génère quatre fichiers DBRM, c'est-à-dire un pour chaque niveau d'isolement : CS, RR, RS et UR. Il vous est toutefois possible de générer un unique fichier DBRM en spécifiant l'option -isolationLevel.

Le nom racine des fichiers DBRM générés est le nom de module racine que vous indiquez lorsque vous exécutez le générateur. Si ce nom comporte plus de sept caractères, l'utilitaire StaticBinder émet une exception.

-outputDBRMPath chemin
Indique le répertoire dans lequel sauvegarder le fichier DBRM généré. La valeur par défaut est le répertoire à partir duquel vous exécutez l'utilitaire StaticBinder.
-differenceOnlyTRUE|FALSE
Indique de ne pas remplacer les packages DB2 ayant des noms de collection, de module et des marques de cohérence qui correspondent à ces valeurs pour les jeux 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 le jeu d'instructions MYPKGA dans capture.pdqxml et vous exécutez l'utilitaire Configure sur ce fichier, avec l'option -cleanConfigure sur sa valeur par défaut de FALSE. L'utilitaire Configure affecte une nouvelle marque de cohérence au jeu 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.
-grant "grantees(premier_ID,deuxième_ID,...)"
Donne la liste (entre parenthèses avec virgules de séparation) des bénéficiaires d'autorisations auxquels vous voulez accorder le privilège EXECUTE pour les modèles créés par l'utilitaire StaticBinder. Si vous n'utilisez pas cette option, l'utilitaire StaticBinder n'accorde pas ce privilège.
Lire le diagrammeSauter le diagramme
                             .-,-------------------.          
                             V                     |          
>>- -grant-- "--grantees--(----+-ID_autorisation-+-+--) - "----><
                               '-PUBLIC----------'            

grantees
Liste des ID autorisation, séparés par des virgules, auxquels vous voulez accorder le privilège EXECUTE. Assurez-vous que les ID autorisation répertoriés sont valides pour la base de données DB2 que vous utilisez.

Pour DB2 Database for Linux, UNIX, and Windows : vous pouvez utiliser les mots clés USER, GROUP et ROLE. Pour tout détail concernant ces mots clés, voir GRANT (Package Privileges) statement.

Pour DB2 for z/OS : vous pouvez utiliser le mot clé ROLE. Pour tout détail concernant ce mot clé, voir GRANT (package privileges).

Restrictions :

  • Vous ne pouvez pas utiliser l'option -grant lorsque l'option -generateDBRM prend la valeur TRUE.
  • Dans un fichier d'options, vous pouvez utiliser l'option -grant soit sur la ligne defaultOptions, soit au niveau d'une ou plusieurs entrées du fichier. Vous ne pouvez pas utiliser -grant aux deux emplacements dans un même fichier d'options.
-interface package-java.classe-interface
Nom de l'interface ou des interfaces pour lesquelles l'utilitaire Générator de pureQuery a généré une classe d'implémentation contenant les instructions SQL pour lesquelles vous voulez définir des accès dans un package DB2. Le nom doit inclure le nom du package Java dans lequel se trouve la classe. L'utilitaire pureQuery StaticBinder combine le nom de l'interface et le suffixe Impl pour déterminer la classe d'implémentation à utiliser.
Vous pouvez utiliser -interface avec -optionsFile si vous souhaitez que l'utilitaire StaticBinder effectue les deux actions suivantes :
  • Définir uniquement les accès des instructions SQL qui se trouvent dans l'interface ou les interfaces spécifiées.
  • Combiner les options de la ligne de commande avec celles du fichier d'options pour l'interface ou les interfaces spécifiées

Si le fichier d'options ne contient pas d'entrée pour les interfaces, l'utilitaire StaticBinder utilise les options de définition des accès qui se trouvent sur la ligne de commande et dans l'entrée defaultOptions du fichier d'options.

-isolationLevel CS | RR | RS | UR
Indique que vous souhaitez générer un package DB2 unique ou un fichier DBRM pour un niveau d'isolement particulier, plutôt qu'un package DB2 ou un fichier DBRM pour les quatre niveaux d'isolement.

Le niveau d'isolement s'applique à toutes les instructions SQL du package. Si vous définissez un niveau d'isolement à l'aide de la méthode Connection.setTransactionIsolation() du pilote IBM® Data Server Driver for JDBC and SQLJ, pureQuery ignore ce niveau d'isolement pour les instructions exécutées de manière statique.

UR
Indique le niveau d'isolement Lecture non validée.
L'utilitaire StaticBinder ajoute la valeur 1 au nom du package ou du fichier DBRM créé, à moins que vous ayez utilisé l'option -forceSingleIsolationLevel lors de l'exécution de l'utilitaire Generator.
CS
Indique le niveau d'isolement Lecture non reproductible.
L'utilitaire StaticBinder ajoute la valeur 2 au package ou au fichier DBRM créé, à moins que vous ayez utilisé l'option -forceSingleIsolationLevel lors de l'exécution de l'utilitaire Generator.
RS
Indique le niveau d'isolement Lecture stable. La lecture stable garantit l'exécution isolée des instructions SQL du module par rapport aux autres processus de l'application pour les lignes qui sont lues et modifiées par cette application.
L'utilitaire StaticBinder ajoute la valeur 3 au nom du package ou du fichier DBRM créé, à moins que vous ayez utilisé l'option -forceSingleIsolationLevel lors de l'exécution de l'utilitaire Generator.
RR
Indique le niveau d'isolement Lecture reproductible.
L'utilitaire StaticBinder ajoute la valeur 4 au nom du package ou du fichier DBRM créé, à moins que vous ayez utilisé l'option -forceSingleIsolationLevel lors de l'exécution e l'utilitaire Generator.
module_Java.interface (au début d'une ligne d'un fichier d'options)
Indique que les options figurant sur la ligne s'appliquent uniquement aux instructions SQL de l'interface spécifiée. Ces options remplacent celles que vous spécifiez par défaut.
Vous devez qualifier le nom de l'interface avec le nom du module Java auquel l'interface appartient.
-optionsFile nom_fichier
Nom du fichier, chemin absolu ou relatif inclus, qui répertorie les interfaces 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.
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.
-url URL_connexion
URL JDBC de type 4 pour la connexion à la base de données.
-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 à l'interface ou à la classe d'implémentation. Lorsque 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 Generator sur une interface appelée OrdersData qui déclare les méthodes de requête et de mise à jour de la table ORDERS. L'utilitaire Generator crée la classe d'implémentation OrdersDataImpl.

Lors de l'exécution de l'utilitaire, vous avez indiqué les valeurs des options -collection, -pkgVersion, et -rootPkgName options, et l'utilitaire les a stockées dans la classe d'implémentation. Vous exécutez l'utilitaire StaticBinder, en indiquant le nom de cette classe ; l'utilitaire crée alors les packages DB2.

Plus tard, vous souhaitez afficher une liste des packages créés par l'utilitaire StaticBinder à partir de la classe d'implémentation. Lorsque vous exécutez l'utilitaire, vous pouvez utiliser l'option -verifyPackages,indiquer la valeur DETAIL, et indiquer à nouveau le nom de la classe.

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.

Cependant, si vous avez exécuté l'utilitaire Generator sur l'interface OrdersData après la première exécution de l'utilitaire StaticBinder et que vous avez modifié la valeur de l'une des options -collection, -pkgName, et -rootPkgName, l'utilitaire StaticBinder ne trouvera aucun des packages correspondant à ces nouvelles valeurs. Dans son rapport, l'utilitaire StaticBinder indiquera que les packages recherchés sont introuvables.

L'option -verifyPackages ne fonctionne pas si, suite à la génération de la classe d'implémentation et à l'exécution de l'utilitaire StaticBinder sur cette classe, vous avez exécuté à nouveau l'utilitaire Generator sur l'interface et indiqué de nouvelles valeurs pour les options -collection, -pkgVersion, et -rootPkgName.

Vous pouvez indiquer cette option avec l'option -bindOptions. Cependant, l'utilitaire StaticBinder ne définira pas l'accès aux 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.

Commentaires