Syntaxe de liaison à partir d'un fichier archive pour l'optimisation client

Vous pouvez utiliser cette commande pour exécuter l'utilitaire StaticBinder sur un fichier archive contenant votre application. L'archive doit contenir un fichier d'options StaticBinder avec l'extension .bindProps qui répertorie les fichiers pureQueryXML à transmettre à l'utilitaireStaticBinder.
Lire le diagrammeSauter le diagramme
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

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

>-- -username--ID-utilisateur-- -password--motdepasse----------->

>-- -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-'                                   

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

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.

Descriptions des options

-archive fichier-archive
Utilisez cette option si vous avez déployé l'application dans un fichier d'archive sur un serveur DB2 et que vous liez des instructions SQL en exécutant l'utilitaire StaticBinder sur ce serveur. Pour fichier-archive, indiquez l'archive qui contient l'application. Les types d'archive pris en charge sont les suivants : EAR, JAR, WAR et ZIP.

L'archive doit contenir un fichier d'options avec l'extension .bindProps dans lequel figurent les fichiers pureQueryXML que vous transmettez à l'utilitaire StaticBinder. Si vous n'indiquez pas de fichier .bindProps dans la commande, l'utilitaire StaticBinder recherche un fichier .bindProps dans l'archive. StaticBinder utilise le premier fichier .bindProps détecté dans l'archive. L'utilitaire lance la recherche dans les fichiers EAR, JAR ou WAR de niveau supérieur.

Si vous indiquez le nom du fichier .bindProps avec la commande StaticBinder, le fichier indiqué est utilisé.

Lorsque vous liez des implémentations DAO avec l'option -archive, l'utilitaire StaticBinder charge des classes d'implémentation pour obtenir les informations qu'elles contiennent. Le chargement de classes peut nécessiter le chargement de classes dépendantes à partir des fichiers EAR, JAR ou WAR.

Lorsque vous effectuez l'opération de liaison avec l'option -archive, l'utilitaire StaticBinder peut renvoyer des erreurs signalant des classes introuvables. Par exemple, certaines applications d'entreprise nécessitant le contexte d'un serveur d'applications peuvent renvoyer ce type d'erreur.

Pour limiter les dépendances de chargement de l'utilitaire StaticBinder, vous pouvez placer la bibliothèque BCEL d'Apache dans le chemin de classe. Lorsque l'utilitaire StaticBinder dispose de la bibliothèque BCEL, il utilise la modification de code d'octets pour exclure les dépendances d'implémentation et limiter le nombre de classes chargées. Dans la plupart des cas, l'ajout de la bibliothèque au chemin de classe résout les erreurs liées à des classes introuvables.

Le fichier JAR BCEL d'Apache n'est pas fourni avec pureQuery Runtime. La bibliothèque BCEL est disponible sur le site du projet Apache.

-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. La chaîne peut avoir l'un des formats suivants :
  • "option_1 valeur_1 option_2 valeur_2"
  • "option_1(valeur_1) option_2(valeur_2)"

La valeur de chaque option ne doit pas contenir d'espaces.

Pour la liste et les descriptions de ces options, voir Commande BIND.

Si vous utilisez l'option de définition d'accès CONCURRENTACCESSRESOLUTION dans DB2 Version 9.7 for Linux, UNIX et Windows, l'option s'applique à toutes les instructions se trouvant dans des packages associés au niveaux d'isolement CS et RR. Cette option, qui s'applique uniquement à ces deux niveaux d'isolement, permet aux applications de trouver la dernière valeur validée dans les lignes verrouillées par les autres applications.
options DBRM
Utilisez les options DBRM pour générer des fichiers DBRM plutôt que de créer des packages. 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 package 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
                   .-FALSE-.                             
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--chemin---------><

-generateDBRM TRUE|FALSE
Indique si des fichiers DBRM doivent être générés à la place de packages. 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 package racine que vous indiquez lorsque vous exécutez l'utilitaire Configure.

La valeur par défaut est FALSE.

-outputDBRMPath chemin
Indique le répertoire dans lequel les fichiers du package d'interrogation de base de données seront sauvegardés. 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 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.
-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 et 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).

Restriction : Vous ne pouvez pas utiliser l'option -grant lorsque l'option -generateDBRM a pour valeur TRUE.

-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 -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure.
CS
Indique le niveau d'isolement Lecture non reproductible.
L'utilitaire StaticBinder ajoute la valeur 2 au nom du package ou du fichier DBRM créé, à moins que vous ayez utilisé l'option -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure.
RS
Indique le niveau d'isolement Lecture stable. La lecture stable garantit l'exécution isolée des instructions SQL du package 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 -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure.
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 -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure.
-password mot_de_passe
Mot de passe à utiliser pour établir la connexion à la source de données.
-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.
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.
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.

Commentaires