Cliquez deux fois sur ce fichier pour l'ouvrir avec un éditeur dans le plan de travail. Il se trouve dans le dossier pureQueryFolder de votre projet Java.
Dans ce fichier, vous pouvez spécifier des options qui s'appliquent à tous les fichiers pureQueryXML inclus dans votre projet. Vous pouvez également spécifier des options propres à chaque fichier pureQueryXML.
Vous pouvez ajouter des commentaires à ce fichier. Chaque commentaire doit commencer par le symbole #.
Lorsque vous créez ou éditez des entrées, il vous est possible d'afficher une aide en appuyant sur les touches CTRL+ESPACE (ou sur votre propre combinaison de touches si vous avez changé la combinaison par défaut).
Pour vous aider à comprendre les diagrammes de syntaxe, voir Comment lire les diagrammes de syntaxe.
Une fois le fichier enregistré, le plan de travail exécute l'utilitaire Configure sur ce fichier et actualise la vue Structure SQL. A ce stade, la vue se limite toujours à l'affichage des modules dont les accès n'ont pas été définis, dans la mesure où vous n'avez pas encore procédé à cette définition.
Le diagramme ci-après illustre la syntaxe admise pour la définition des options par défaut applicables à tous les fichiers pureQueryXML répertoriés dans le fichier.
>>-defaultOptions--=--+----------------------------------+------> | .-NULLID---------. | '- -collection--+-nom_collection-+-' >--+--------------------------------+---------------------------> '- -pkgVersion-- -+-AUTO-------+-' '-ID_version-' >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+--------------------------+---->< | .-100----. | | (1) | '- -sqlLimit--+-nombre-+-' '-| options de trace |-----'
Le diagramme ci-après illustre la syntaxe admise pour la définition des options individuellement applicables aux différents fichiers pureQueryXML répertoriés dans le fichier.
>>-fichier_pureQueryXML--+----------------------------------+---> | .-NULLID---------. | '- -collection--+-nom_collection-+-' >--+--------------------------------+---------------------------> '- -pkgVersion-- -+-AUTO-------+-' '-ID_version-' >-- -rootPkgName--racine_nom_module-----------------------------> >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+-----------------------------+------------------------------> | .-FALSE-. | '- -cleanConfigure--+-TRUE--+-' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+--------------------------+---->< | .-100----. | | (1) | '- -sqlLimit--+-nombre-+-' '-| options de trace |-----'
En plus du nom, vous devez indiquer le chemin d'accès absolu du fichier.
Seul DB2 for z/OS utilise des curseurs d'ensemble de lignes, et uniquement lorsque les propriétés IBM Data Server Driver for JDBC and SQLJ indiquent que les curseurs d'ensemble de lignes doivent être utilisés. Si vous effectuez la capture depuis un type de données source différent, ou sans activer les curseurs d'ensemble de lignes, aucune des instructions capturées n'utilise de curseur d'ensemble de lignes.
Lorsque les curseurs d'ensemble de lignes ne sont pas utilisés pour les curseurs de défilement vers l'avant, une connexion de Type 4 peut utiliser de façon interne un mécanisme similaire pour atténuer le trafic réseau.
Cette option prend l'une des quatre valeurs suivantes :
Cette option n'est pas nécessaire si l'une de ces conditions est remplie :
pureQuery considère qu'une instruction est actualisable si l'une de ces conditions est vraie :
Si vous exécutez des instructions de façon statique sur une source de données qui ne prend pas en charge les curseurs d'ensemble de ligne, le curseur de ligne n'est utilisé par pureQuery pour aucune instruction.
Si vous n'indiquez pas cette option, pureQuery utilise par défaut les curseurs d'ensemble de lignes pour les instructions pour lesquelles le pilote IBM Data Server Driver for JDBC and SQLJ a utilisé des curseurs d'ensemble de lignes lors de la capture des instructions.
Au cours de l'exécution, toutes les instructions SQL sont organisées en des ensembles d'instructions selon les options spécifiées, telles que sqlLimit, groupSQLByString et groupSQLBySpecialRegister. Les ensembles d'instructions du fichier de sortie peuvent être différents de ceux du fichier en entrée.
Vous devez indiquer une valeur pour l'option -rootPkgName.
Il s'agit de la valeur par défaut. Vous devez indiquer une valeur pour l'option -rootPkgName.
Pour les ensembles d'instructions sans nom, la configuration applique toutes les options spécifiées.
Pour les ensembles d'instructions nommés avec l'option REQUIRED pour configureStatus, certaines options sont appliquées, telles que -collection, -pkgVersion, -forceSingleBindIsolation et -markDDLForBind. La marque de cohérence est mise à jour.
Pour les ensembles d'instructions dont l'ensemble d'indicateurs est défini sur AUTO, la configuration applique les options uniquement si l'utilitaire Configure détermine que l'ensemble d'instructions doit être modifié. La marque de cohérence n'est pas mise à jour si l'ensemble d'instructions n'est pas modifié.
Pour les ensembles d'instructions nommés dont l'ensemble d'indicateurs configureStatus est défini sur FINAL, l'utilitaire Configure affiche des erreurs lorsque des problèmes sont trouvés dans l'ensemble d'instructions. Les erreurs comprennent des numéros de section en ordre décroissant et des instructions de mise à jour de position non associées à une instruction SELECT. L'utilitaire Configure affiche des avertissements lorsque les instructions doivent être supprimées d'un ensemble d'instructions. Par exemple, une instruction peut être supprimée d'un ensemble d'instructions lorsque l'option -removeSQLInactiveForDays est spécifiée et que l'horodatage de l'instruction correspond aux critères de suppression. Une instruction peut être déplacée vers un autre ensemble d'instructions si les valeurs de registre spécial sont associées aux modificiations de l'instruction.
Si vous souhaitez utiliser l'option -isolationLevel pour définir les accès d'un seul jeu d'instructions en deux ou trois packages différents (chaque package à un autre niveau d'isolement), n'utilisez pas l'option -forceSingleBindIsolation lorsque vous exécutez l'utilitaire Configure sur le fichier pureQueryXML dans lequel apparaît le jeu d'instructions.
Par exemple, dans un fichier d'options pour l'utilitaire StaticBinder, supposez que vous avez inclus les deux entrées suivantes :
C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel UR C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel CS
Si vous avez utilisé l'option -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure sur le fichier captureFile.pdqxml, l'utilitaire StaticBinder effectue les actions suivantes :
Le résultat est un package MYPKGA unique dont les accès sont définis au niveau d'isolement CS.
Si vous voulez avoir deux packages MYPKGA comme résultat, un au niveau d'isolement UR et l'autre au niveau CS, n'utilisez pas l'option -forceSingleBindIsolation lors de l'exécution de l'utilitaire Configure sur captureFile.pdqxml.
DB2 accepte la présence simultanée de plusieurs versions d'un même module, ce qui vous permet de définir les accès des nouveaux modules sans devoir remplacer les anciennes versions des modules portant un nom identique. Si vous rencontrez des difficultés avec une version récente d'un module, vous pouvez toujours utiliser une version plus ancienne de ce module.
Si vous n'utilisez pas cette option, les modules de base de données résultant de définitions d'accès ultérieures sont créés sans version.
La vérification de la version au moment de l'exécution est basée sur la marque de cohérence, et non pas sur le nom de la version.
La valeur racine_nom_module doit respecter les contraintes imposées par la base de données DB2 que vous utilisez.
Si vous prévoyez de générer des fichiers DBRM avec l'utilitaire pureQuery StaticBinder plutôt que de créer des modules DB2, vous devez utiliser des majuscules pour la valeur racine_nom_module et cette valeur ne doit pas comporter plus de 6 caractères. L'utilitaire Configure ajoute des caractères à la racine du nom soit lorsque le fichier pureQueryXml contient des instructions DDL, soit lorsque le nombre maximal d'instructions par module (défini avec sqlLimit) est atteint. Si vous utilisez l'utilitaire StaticBinder pour générer un fichier DBRM, cet utilitaire émet une exception dès lors que vous dépassez un total de 8 caractères pour la combinaison racine_nom_module / caractères supplémentaires consécutifs à l'intervention de l'utilitaire Configure / niveau d'isolement.
Cette valeur par défaut est 100.
Module avec les 100 premières instructions SQL | Module avec les n instructions SQL suivantes, où 100 < n < 200 | |
---|---|---|
Niveau d'isolement CS | monModuleA1 | monModuleB1 |
Niveau d'isolement RR | monModuleA2 | monModuleB2 |
Niveau d'isolement RS | monModuleA3 | monModuleB3 |
Niveau d'isolement UR | monModuleA4 | monModuleB4 |
Les chiffres représentent le niveau d'isolement des modules, cependant que les lettres représentent le nombre de modules créés selon la valeur de sqlLimit et le nombre d'instructions présentes dans le fichier pureQueryXML. Les lettres sont celles de l'alphabet anglais, de A à Z. Si la lettre Z est atteinte alors qu'il reste des modules à créer, une deuxième lettre est ajoutée à la première, ce qui donne AA, AB, AC, etc. Si les noms deviennent trop longs pour votre base de données, réduisez la longueur du nom racine du module ou augmentez la valeur de sqlLimit. Vous pouvez également utiliser l'option -forceSingleBindIsolation pour supprimer le nombre indiquant le niveau d'isolement, si vous prévoyez de créer un module pour un niveau d'isolement unique.
Dans certaines situations, l'utilitaire Configure dépasse la limite de l'instruction SQL lors de la création d'ensembles d'instructions représentant les packages DB2. Toutes les instructions SQL qui manipulent un curseur doivent se trouver dans le module contenant l'instruction DECLARE CURSOR pour ce curseur. Par exemple, si une application exécute quinze instructions UPDATE différentes qui se réfèrent au même curseur, ces quinze instructions doivent toutes se trouver dans le package DB2 contenant l'instruction DECLARE CURSOR pour ce curseur.
Pour que votre application maintienne des performances optimales, n'indiquez pas de valeur supérieure à 400 pour sqlLimit.
>>-+--------------------------+---------------------------------> '- -traceFile--nom_fichier-' >--+---------------------------+------------------------------->< | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'