Le plan de travail propose des fonctions permettant de capturer et lier les instructions SQL d'une
application d'API différente de pureQuery et de les exécuter en mode statique lors de l'exécution de
cette application.
Avant de commencer
Vérifiez que votre système est conforme aux exigences de configuration logicielle et matérielle. Voir Configuration requise pour Optim pureQuery Runtime.
L'application doit se trouver dans un projet Java
du plan de travail.
Avant toute définition d'accès, assurez-vous
que les conditions ci-après sont réunies.
- L'ensemble de privilèges de l'utilisateur qui appelle l'utilitaire pureQuery StaticBinder doit inclure l'un des droits suivants :
- Le droit SYSADM
- Le droit DBADM
- Si le module n'existe pas, le privilège BINDADD ainsi que l'un des privilèges suivants :
- Le privilège CREATEIN
- DB2 for z/OS :
le droit PACKADM pour la collection ou pour toutes les collections
- DB2 Database for Linux, UNIX, and Windows :
le droit IMPLICIT_SCHEMA pour la base de données si le nom de schéma du module n'existe pas
- DB2 for z/OS :
si le module existe, le privilège BIND pour ce module
- DB2 Database for Linux, UNIX, and Windows :
si le module existe :
- Le privilège ALTERIN pour le schéma
- Le privilège BIND pour le module
- DB2 for Linux,
UNIX, and Windows :
l'utilisateur doit également disposer de tous les privilèges nécessaires pour compiler les
instructions SQL statiques de l'application. Les privilèges accordés aux groupes ne permettent
pas de vérifier les autorisations pour les instructions statiques.
Si l'utilisateur dispose
du droit SYSADM mais sans privilèges explicites pour la définition des accès, le gestionnaire
de la base de données DB2 accorde automatiquement un
droit DBADM explicite.
Vous pouvez utiliser un référentiel
de gestion SQL créé dans une base de données pour les
activités suivantes lorsque vous utilisez pureQuery Runtime pour l'exécution
statique dans des applications d'API non pureQuery :
- Stockez les instructions SQL et les informations associées capturées par l'optimisation de client pureQuery.
- Stockez et gérez les informations de configuration de pureQuery Runtime et les
informations relatives au fichier pureQueryXML.
- Récupérez les informations pureQuery à utiliser par une application activée pour une
optimisation de client pureQuery.
Pour configurer l'exécution statique des instructions SQL dans des applications d'API différentes
de pureQuery, voici la procédure de base :
Que faire ensuite
Vous pouvez utiliser la vue Structure SQL pour identifier et résoudre les incidents liés à
vos instructions SQL. N'oubliez pas que si vous modifiez l'une de vos instructions SQL ou tout autre élément de votre application, vous devez capturer à nouveau les instructions SQL et recréer vos modules DB2.
Si vous prévoyez de déployer votre application
dans un fichier JAR : Avant de procéder à ce déploiement, assurez-vous que le
fichier Default.bindProps comporte une entrée pour chaque fichier pureQueryXML contenant
les instructions SQL dont vous voulez définir les accès. L'utilitaire pureQuery
StaticBinder, que vous devez exécuter depuis une ligne de commande de la base de données
sur laquelle vous déployez votre application, opère uniquement sur les fichiers
pureQueryXML qui sont répertoriés dans le fichier Default.bindProps.
Pour
ajouter des fichiers :
- Dans le dossier pureQueryFolder de votre projet, cliquez sur le fichier
Default.bindProps avec le bouton droit de la souris puis sélectionnez pureQuery > Ajouter ou supprimer des entrées.
- Dans la fenêtre Ajouter ou supprimer des entrées, ajoutez tous
les fichiers pureQueryXML nécessaires.
Si vous pensez être amené à revoir
les noms racines des modules, les ID collection et les versions de vos modules
DB2 après déploiement de l'application, vous devez
également vous assurer que votre fichier Default.genProps contient une entrée pour chacun
des fichiers pureQueryXML sur lesquels porte la ligne defaultOptions. Vous pouvez également ajouter des entrées à ce fichier par clic droit de la souris depuis
la fenêtre Ajouter ou supprimer des entrées.