Une fois que vous avez créé des interfaces qui déclarent les méthodes annotées, vous pouvez commencer à configurer et créer des modules
DB2 contenant les instructions SQL à exécuter en mode statique.
Avant de commencer
Vous ne pouvez pas exécuter SQL de manière statique si vous utilisez une base de données Oracle.
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.
Procédure
Pour utiliser le plan de travail afin de configurer le support des instructions SQL statiques dans le code pureQuery :
- Pour regrouper les instructions SQL de plusieurs interfaces dans un module DB2 distinct, étendez l'une des interfaces avec une autre interface.
- Editez le fichier Default.genProps en spécifiant la collection, les noms racine et les versions des modules DB2 à créer.
- Affichez les instructions SQL de vos interfaces et les informations associées.
Lorsque vous sélectionnez le dossier de votre projet dans l'explorateur de modules ou l'un des fichiers
de votre projet Java, la vue Structure SQL est remplie.
Si la vue ne s'ouvre pas, sélectionnez Fenêtre > Afficher la vue > Autre. Dans la fenêtre Afficher la vue, sélectionnez
Autre > Structure SQL.
A ce stade, la vue se limite à 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.
- Editez le fichier Default.bindProps
en spécifiant les options déterminant la façon dont les accès des instructions SQL doivent
être définis dans les modules DB2.
- Définissez les accès des instructions SQL présentes dans les interfaces de votre projet Java en effectuant l'une des opérations suivantes :
- Pour lier toutes les interfaces dans un projet Java, cliquez avec le bouton droit sur le projet et sélectionnez
Data Access Development > Lier l'application pureQuery.
- Pour lier une ou plusieurs interfaces dans un projet Java, cliquez avec le bouton droit sur un ensemble d'interfaces et sélectionnez Data Access Development > Lier.
La fenêtre Sélectionner la connexion
s'ouvre pour vous permettre de choisir la base de données DB2
à utiliser. Vous pouvez sélectionner une base qui n'est pas associée à votre projet Java.
Avertissement : Vous ne pouvez pas effectuer l'opération de définition d'accès si vous travaillez hors ligne. Vous devez être connecté à la base de données DB2 pour laquelle vous allez
définir les accès.
- Affichez les modules DB2 ainsi que les instructions SQL qu'ils contiennent. Sélectionnez le dossier du projet et consultez la page SQL de la vue Structure SQL pour vérifier que vous
avez créé les modules DB2 que vous souhaitiez créer.
Pour vérifier que le module a été créé dans la base de données, cliquez dessus avec le bouton droit de
la souris dans la vue Structure SQL, puis sélectionnez Afficher dans l'explorateur de sources
de données.
Avant d'exécuter votre code pureQuery, vous pouvez recréer des
modules DB2 avec d'autres options ou créer de nouvelle versions de modules.
- Exécutez votre application de telle sorte que les instructions SQL
dont les accès sont définis soient exécutées en mode statique.
Résultats
Vous pouvez utiliser la vue Structure SQL pour identifier et résoudre les incidents liés à
vos instructions SQL.
Si vous modifiez une ou plusieurs instructions SQL dans une
interface ou si vous ajoutez des instructions à une interface :
Vous pouvez changer les versions
des modules DB2 contenant ces instructions ou
vous pouvez créer de nouvelles versions de modules.
Si vous prévoyez
de déployer votre application dans un fichier JAR : Dans le plan de travail, la
ligne defaultOptions du fichier Default.bindProps s'applique à toutes
les interfaces de votre projet, sauf en ce qui concerne les interfaces pour lesquelles
vous spécifiez les options individuellement dans ce fichier. Avant déploiement de
votre application dans un fichier JAR, assurez-vous que le fichier Default.bindProps
comporte une entrée pour chacune des interfaces 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 interfaces qui sont répertoriés dans le
fichier Default.bindProps.
Pour ajouter les interfaces :
- Dans le dossier dataAccessFolder de votre projet, cliquez avec le bouton droit sur le fichier
Default.bindProps et sélectionnez Data Access Development > Add or Remove Entries (Ajouter ou supprimer des entrées).
- Dans la fenêtre Add or Remove Entries (Ajouter ou supprimer des entrées), ajoutez
toutes les interfaces 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 chacune des interface sur lesquelles 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.