(1) >>-java--com.ibm.pdq.tools.StaticBinder-------------------------> (2) >-------- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données--> '-:--port-' >-- -username--username-- -password--password-------------------> .-----------------------------------------------. V | >-- -pureQueryXml----+-fichier_pureQueryXML----------------------+-+--> '-fichier-pureQueryXML--:--nom-package-base-' >--+------------------------------------------------------------------------------------+--> | (3) | +-| options DBRM |-------------------------------------------------------------------+ +- -bindOptions-- -"--options_définition_accès--"--+-------------------------------+-+ | '- -verifyPackages--+-DETAIL--+-' | | '-SUMMARY-' | '- -verifyPackages--+-DETAIL--+------------------------------------------------------' '-SUMMARY-' >--+-----------------------------+--+----------------+----------> | .-FALSE-. | | (4) | '- -differenceOnly--+-TRUE--+-' '-| -grant |-----' >--+--------------------------+--+--------------------------+---> '- -isolationLevel--+-CS-+-' | .-FALSE-. | +-RR-+ '- -showDetails--+-TRUE--+-' +-RS-+ '-UR-' >--+--------------------------+--+--------------------------+---> | (5) | | .-FALSE-. | '-| options de trace |-----' '- -validateXml--+-TRUE--+-' >--+--------+-------------------------------------------------->< '- -help-'
Pour la liste et les descriptions de ces options, voir Commande BIND.
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.
.-FALSE-. >>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--chemin---------><
Le nom racine des fichiers DBRM générés est le nom de module racine que vous indiquez lorsque vous exécutez l'utilitaire Configure.
La valeur par défaut est FALSE.
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.
.-,-------------------. V | >>- -grant-- "--grantees--(----+-ID_autorisation-+-+--) - "---->< '-PUBLIC----------'
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 :
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.
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.
>>-+--------------------------+---------------------------------> '- -traceFile--nom_fichier-' >--+---------------------------+------------------------------->< | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'
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.
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 Configure sur myApp.pdqxml 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, ou -rootPkgName, l'utilitaire StaticBinder ne trouvera aucun des packages correspondant à ces nouvelles valeurs. Dans son rapport, l'utilitaire StaticBinder indiquera que les modules que vous recherchez sont introuvables.
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.
Vous pouvez spécifier 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.
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.