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_package----------------------------> >--+--------------------------------------------------------+---> '- -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 prend en charge les curseurs d'ensemble de lignes. Les curseurs d'ensemble de lignes sont utilisés uniquement quand les propriétés IBM Data Server Driver for JDBC and SQLJ le requièrent. 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.
Pour tous les ensembles d'instructions, l'utilitaire Configure associe l'attribut configureStatus à la valeur AUTO pendant la procédure de configuration. Remplace la valeur FINAL pour l'attribut configureStatut de l'ensemble d'instructions.
FALSE est la valeur par défaut.
Pour les ensembles d'instructions sans nom, la configuration applique toutes les options spécifiées.
Pour les ensembles d'instructions nommés dont l'attribut configureStatus correspond à REQUIRED, certaines options sont appliquées. Les options appliquées comprennent les options -collection, -pkgVersion , -forceSingleBindIsolation et -markDDLForBind. La marque de cohérence est mise à jour. Si vous exécutez des instructions SQL dans l'ensemble d'instructions en mode statique, vous devez relier le package créé à partir de l'ensemble d'instructions.
Pendant la procédure de configuration, l'utilitaire Configure remplace la valeur REQUIRED de configureStatus par AUTO.
Pour les ensembles d'instructions dont l'attribut configureStatus a pour valeur AUTO, l'utilitaire Configure applique les options uniquement s'il 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é. Lorsque l'attribut configureStatus correspond à AUTO et que l'option -pkgVersion est indiquée, l'utilitaire met à jour l'ensemble d'instructions en utilisant l'ID version. Si vous exécutez des instructions SQL de l'ensemble d'instructions de manière statique et que l'ensemble d'instructions a été modifié, vous devez lier une nouvelle fois le package créé à partir de l'ensemble d'instructions.
Pour les ensembles d'instructions nommés dont l'attribut configureStatus correspond à FINAL, l'utilitaire Configure affiche des erreurs lorsque des problèmes liés à l'ensemble d'instructions sont détectés. 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 modifications de l'instruction.
Si vous souhaitez utiliser l'option -isolationLevel pour définir les accès d'un seul ensemble 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 l'ensemble 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 package, ce qui vous permet de définir les accès des nouveaux packages sans devoir remplacer les anciennes versions des packages portant un nom identique. Si vous rencontrez des difficultés avec une version récente d'un package, vous pouvez toujours utiliser une version plus ancienne de ce package.
L'utilitaire de configuration crée une copie du fichier pureQueryXML en ajoutant l'ID version au nom de ce fichier.
L'ID version ne doit inclure que des caractères valides pour les noms de fichier sur votre système d'exploitation. Par ailleurs, la chaîne et le nom du package ne peuvent pas dépasser la longueur acceptée par votre système d'exploitation pour les noms de fichier.
Si vous indiquez cette option et que l'utilitaire de configuration ne modifie pas le fichier pureQueryXML, l'utilitaire ne crée pas de copie du fichier pureQueryXML.
Si vous n'indiquez pas cette option, les packages de base de données provenant de liaisons ultérieures sont créés sans version et la copie du fichier n'est pas créée.
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_package 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 packages DB2, vous devez utiliser des majuscules pour la valeur racine_nom_package 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 package (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_package / caractères supplémentaires consécutifs à l'intervention de l'utilitaire Configure / niveau d'isolement.
Cette valeur par défaut est 100.
Package avec les 100 premières instructions SQL | Package avec les n instructions SQL suivantes, où 100 < n < 200 | |
---|---|---|
Niveau d'isolement CS | monPackageA1 | monPackageB1 |
Niveau d'isolement RR | monPackageA2 | monPackageB2 |
Niveau d'isolement RS | monPackageA3 | monPackageB3 |
Niveau d'isolement UR | monPackageA4 | monPackageB4 |
Les chiffres représentent le niveau d'isolement des packages, cependant que les lettres représentent le nombre de packages 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 packages à 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 package 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 package 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 package 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--'