L'utilitaire StaticBinder traite toujours les entrées dans les fichiers d'options dans
l'ordre dans lequel elles apparaissent. Si un fichier d'options contient une entée pour un ensemble d'instructions
dans un fichier pureQueryXML et une entrée pour ce fichier pureQueryXML complet, l'ordre d'apparition des entrées
détermine la sortie de ces entrées.
L'entrée d'un ensemble d'instructions se présente comme suit :
fichier.pdqxml:nom_module_base
Le nom de base du package est la valeur de l'attribut
name de l'élément
package qui décrit le package
dans le fichier
pureQueryXML.
Le nom de base est constitué
de deux parties :
- Le nom du package racine
- Tout caractère ajouté par l'utilitaire Configure au nom du package racine
en raison de la valeur de l'option sqlLimit
lors du dernier traitement par l'utilitaire Configure du fichier pureQueryXML
Les
exemples des deux sections ci-après utilisent les objets suivants :
- captureFile.pdqxml
- Ce fichier pureQueryXML contient quatre ensembles d'instructions avec les noms de module de
base suivants : PKGA, PKGB, PKGC et PKGD. Chaque ensemble d'instructions contient des instructions SQL
utilisant la table TABLE1. Dans toutes ces instructions SQL, TABLE1 est référencé sous la forme TABLE1, et non
nom_schéma.TABLE1.
Chaque entrée du fichier d'options utilise l'option -bindOptions
pour spécifier l'option QUALIFIER, qui détermine le nom de schéma pour les tables référencées sans
nom de schéma.
- captureFile.pdqxml:PKGA
- Cet ensemble d'instructions requiert des options particulières. A ce titre, il comporte une entrée
distincte dans le fichier d'options.
Pour ces exemples, n'oubliez pas que lorsque vous liez un ensemble d'instructions
sans spécifier de niveau d'isolement, l'utilitaire StaticBinder crée quatre modules
(un par niveau d'isolement).
Supposons que vous exécutiez l'utilitaire StaticBinder sur PKGF,
mais que vous n'avez pas indiqué de niveau d'isolement. L'utilitaire crée les modules PKGF1, PKGF2, PKGF3 et
PKGF4, chaque numéro ajouté indiquant le niveau d'isolement du module.
Exemples donnant lieu à une version de PKGD
- Dans cet exemple, l'utilitaire StaticBinder commence par lier tous les ensembles
d'instructions du fichier captureFile.pdqxml de pureQueryXML avec le qualificatif TESTSCHEMA. Cela
comprend l'ensemble d'instructions avec le nom de module de base PKGA. Ensuite, l'utilitaire StaticBinder
lie de nouveau l'ensemble d'instructions avec le nom de module de base PKGA, mais en utilisant cette
fois-ci le qualificatif PRODUCTIONSCHEMA. Les modules liés pour la deuxième entrée remplacent les modules du
même nom qui ont été liés pour la première entrée.
C:\dir\captureFile.pdqxml = -bindOptions "QUALIFIER TESTSCHEMA"
C:\dir\captureFile.pdqxml:PKGA = -bindOptions "QUALIFIER PRODUCTIONSCHEMA"
Résultat final :
- Modules qui utilisent PRODUCTIONSCHEMA.TABLE1 : PKGA1, PKGA2, PKGA3, PKGA4
- Modules qui utilisent TESTSCHEMA.TABLE1 : PKGB1, PKGB2, PKGB3, PKGB4,
PKGC1, PKGC2, PKGC3, PKGC4, PKGD1, PKGD2, PKGD3, PKGD4
- Dans cet exemple, l'utilitaire StaticBinder lie les modules associés au nom de module de base PKGA
avec le qualificatif PRODUCTIONSCHEMA, puis lie tous les modules de captureFile.pdqxml avec le
qualificatif TESTSCHEMA. Les modules liés pour la deuxième entrée remplacent les modules du
même nom qui ont été liés pour la première entrée.
C:\dir\captureFile.pdqxml:PKGA = -bindOptions "QUALIFIER PRODUCTIONSCHEMA"
C:\dir\captureFile.pdqxml = -bindOptions "QUALIFIER TESTSCHEMA"
Résultat final :
- Aucun module d'utilise PRODUCTIONSCHEMA.TABLE1
- Modules qui utilisent TESTSCHEMA.TABLE1 : PKGA1, PKGA2, PKGA3, PKGA4,
PKGB1, PKGB2, PKGB3, PKGB4, PKGC1, PKGC2, PKGC3, PKGC4, PKGD1, PKGD2,
PKGD3, PKGD4
Toutefois, vous pouvez utiliser l'option -differenceOnly
sur la deuxième ligne afin d'éviter que l'utilitaire StaticBinder ne lie de nouveau PKGA. StaticBinder
ne relie pas ces modules car ils existent déjà dans la base de données avec les mêmes nom de collection,
nom de module et marque de cohérence.
C:\dir\captureFile.pdqxml:PKGA = -bindOptions "QUALIFIER PRODUCTIONSCHEMA"
C:\dir\captureFile.pdqxml = -bindOptions "QUALIFIER TESTSCHEMA" -differenceOnly TRUE
Résultat final :
- Modules qui utilisent PRODUCTIONSCHEMA.TABLE1 : PKGA1, PKGA2, PKGA3, PKGA4
- Modules qui utilisent TESTSCHEMA.TABLE1 : PKGB1, PKGB2, PKGB3, PKGB4,
PKGC1, PKGC2, PKGC3, PKGC4, PKGD1, PKGD2, PKGD3, PKGD4
Exemples donnant lieu à deux versions de PKGD
- Dans cet exemple, l'utilitaire StaticBinder commence par traiter tous les ensembles d'instructions
du fichier captureFile.pdqxml de pureQueryXML, qui comprend l'ensemble d'instructions avec le nom de module
de base PKGA. StaticBinder lie quatre modules au niveau d'isolement Lecture non validée,
en ajoutant le numéro 1 à chaque nom de module. Ensuite, l'utilitaire StaticBinder lie de nouveau le
module PKGA, mais en utilisant cette fois le niveau d'isolement Lecture non reproductible. L'utilitaire
ajoute le numéro 2 au nom du module.
C:\dir\captureFile.pdqxml = -isolationLevel UR
C:\dir\captureFile.pdqxml:PKGA = -isolationLevel CS
Résultat final :
- PKGA1, PKGB1, PKGC1, PKGD1
- PKGA2
- Cet exemple lie le module PKGA avec le niveau d'isolement Lecture non reproductible,
puis lie tous les modules du fichier captureFile.pdqxml avec le niveau d'isolement Lecture non validée.
C:\dir\captureFile.pdqxml:PKGA = -bindOptions "QUALIFIER PRODUCTIONSCHEMA"
C:\dir\captureFile.pdqxml = -bindOptions "QUALIFIER TESTSCHEMA"
Résultat final :
- Module qui utilise PRODUCTIONSCHEMA.TABLE 1 : PKGA2
- Modules qui utilisent TESTSCHEMA.TABLE1 : PKGA1, PKGB1, PKGC1, PKGD1
Toutefois, vous pouvez utiliser l'option -differenceOnly
sur la deuxième ligne afin d'éviter que l'utilitaire StaticBinder ne lie de nouveau PKGA. StaticBinder
ne relie pas ces modules car ils existent déjà dans la base de données avec les mêmes nom de collection,
nom de module et marque de cohérence.
C:\dir\captureFile.pdqxml:PKGD = -bindOptions "QUALIFIER PRODUCTIONSCHEMA"
C:\dir\captureFile.pdqxml = -bindOptions "QUALIFIER TESTSCHEMA" -differenceOnly TRUE
Résultat final :
- Module qui utilise PRODUCTIONSCHEMA.TABLE 1 : PKGA2
- Modules qui utilisent TESTSCHEMA.TABLE1: PKGB1, PKGC1, PKGD1