(1) >>-java--com.ibm.pdq.tools.StaticBinder-------------------------> (2) >-------- -url--jdbc--:--db2--:--//--serveur--+---------+--/--base_de_données--> '-:--port-' >-- -username--ID-utilisateur-- -password--motdepasse-----------> .-----------------------------------------------. V | >-- -pureQueryXml----+-fichier_pureQueryXML----------------------+-+--> '-fichier-pureQueryXML--:--nom-package-base-' >--+------------------------------------------------------------------------------------+--> | (3) | +-| options DBRM |-------------------------------------------------------------------+ +- -bindOptions-- -"--options_définition_accès--"--+-------------------------------+-+ | '- -verifyPackages--+-DETAIL--+-' | | '-SUMMARY-' | '- -verifyPackages--+-DETAIL--+------------------------------------------------------' '-SUMMARY-' >--+--------------------------------------------------------+---> | .--------------------------------. | | V | | '- -configureWarning---- -configuration-avertissements-+-' >--+-----------------------------+--+----------------+----------> | .-FALSE-. | | (4) | '- -differenceOnly--+-TRUE--+-' '-| -grant |-----' >--+--------------------------+--+--------------------------+---> '- -isolationLevel--+-CS-+-' | .-FALSE-. | +-RR-+ '- -showDetails--+-TRUE--+-' +-RS-+ '-UR-' >--+--------------------------+--+--------------------------+---> | (5) | | .-FALSE-. | '-| Options de trace |-----' '- -validateXml--+-TRUE--+-' >--+--------+-------------------------------------------------->< '- -help-'
La valeur de chaque option ne doit pas contenir d'espaces.
Pour la liste et les descriptions de ces options, voir Commande BIND.
Lorsque vous indiquez l'option -optionsFileForBind de l'utilitaire Configure, l'utilitaire génère un fichier d'options StaticBinder. Le fichier d'options contient des options de liaison et d'autres informations reposant sur les instructions SQL, les ensembles d'instructions et des informations du registre spécial DB2 figurant dans le fichier pureQueryXML. L'utilitaire Configure ajoute l'option -configureWarning aux options de liaison lorsqu'il détecte un incident potentiel. Si vous liez des packages à la base de données en utilisant les options de liaison indiquées et exécutez les instructions SQL en mode statique, le comportement obtenu risque d'être incorrect.
L'utilitaire Configure ajoute également une marque d'avertissement à une ligne de commentaire de l'ensemble d'instructions. Les commentaires peuvent contenir des avertissements et des informations relatives à l'ensemble d'instructions et à l'instruction SQL de l'ensemble. Pour plus d'informations sur la correction des avertissements, reportez-vous aux informations sur les marques générées avec les avertissements à la rubrique Fichier d'options de liaison par l'utilitaire ConfigureSi vous indiquez l'option -configureWarning lors de l'exécution de l'utilitaire StaticBinder, l'utilitaire tente de lier les packages associés. Il affiche également un message d'avertissement indiquant l'incident.
L'option -configureWarning peut utiliser les valeurs suivantes :
L'utilitaire Configure ajoute également la marque incrementalSpecialRegValuesPresent à une ligne de commentaire de l'ensemble d'instructions.
L'utilitaire Configure ajoute également la marque missingSpecialRegValueId(ID) à une ligne de commentaire de l'ensemble d'instructions.
L'utilitaire Configure ajoute également la marque SQLGroupedBySpecialRegisters(MULTI_SRINFO) à une ligne de commentaire de l'ensemble d'instructions.
L'utilitaire Configure ajoute également la marque SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) à une ligne de commentaire de l'ensemble d'instructions.
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.
.-FALSE-. >>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--chemin---------><
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.
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.
.-,-------------------. 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).
Restriction : Vous ne pouvez pas utiliser l'option -grant lorsque l'option -generateDBRM a pour valeur TRUE.
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--'
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
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 détecte 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.
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.