Utilisez le plan de travail pour extraire les instructions SQL du code Java, créer un fichier pureQueryXML à partir des instructions SQL et lier les instructions SQL à la base de données.
Précédemment dans le tutoriel, vous avez créé un fichier pureQueryXML en exécutant votre application et en capturant les instructions SQL. Pour créer un fichier pureQueryXML contenant les instructions SQL à partir de votre application, vous pouvez aussi extraire les données SQL du code source de votre application. Vous extrayez les instructions SQL que votre plan de travail répertorie dans la vue Structure SQL.
Pour créer un fichier pureQueryXML à partir des instructions SQL exportées depuis le code source Java :
- Extrayez les données SQL de l'application.
- Dans la vue Structure SQL, ouvrez la fenêtre Projets Java en cliquant sur l'onglet Java dans la partie inférieure de la vue.
- Dans la fenêtre Projets Java, cliquez avec le bouton droit de la souris sur votre fichier de code source Java, puis cliquez sur Exporter les données SQL dans un fichier....
- Sauvegardez le fichier qui contient les instructions SQL extraites sous le nom de dataAccessFolder\MySample.sql.
Le plan de travail génère le fichier dataAccessFolder\MySample.sql.
Remarque : Après avoir créé le fichier, vous pouvez ouvrir le fichier SQL dans l'éditeur SQL, ajouter des informations d'attribut de curseur et créer le fichier pureQueryXML dans l'éditeur SQL.
- Créez un fichier pureQueryXML à partir du fichier SQL.
- Au besoin, actualisez le contenu du dossier dataAccessFolder dans la fenêtre Explorateur de packages pour afficher le fichier MySample.sql.
- Dans l'Explorateur de packages, cliquez avec le bouton droit de la souris sur le fichier SQL et cliquez sur .
- Dans Générer pureQueryXML à partir d'instructions SQL,
spécifiez l'emplacement du fichier pureQueryXML de sortie et cliquez sur Suivant.
- Dans la zone Projet Java, sélectionnez votre projet.
- Dans la zone Nom du fichier pureQueryXML, entrez le nom MySample.pdqxml.
- Passez en revue les mises à jour proposées pour le fichier Default.genProps.
Le plan de travail met à jour le fichier
Default.genProps avec des informations similaires au texte suivant, qui spécifie une option
-rootPkgName avec la valeur
myPkg pour le fichier pureQueryXML.
C:\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml = -rootPkgName myPkg
- Cliquez sur Terminer.
Le plan de travail génère le fichier pureQueryXML dataAccessFolder\MySample.pdqxml.
- Visualisez le fichier pureQueryXML.
Dans la vue Explorateur de packages, cliquez deux fois sur le fichier dataAccessFolder\MySample.pdqxml.
Le fichier s'ouvre dans l'éditeur pureQueryXML. Le nom de l'ensemble d'instructions est myPkg.
- Fermez le fichier pureQueryXML.
- Liez les instructions SQL dans le fichier pureQueryXML.
- Cliquez avec le bouton droit de la souris sur le fichier capture.pdqxml et cliquez sur .
- Dans la boîte de dialogue Sélectionner les connexions, sélectionnez la base de données SAMPLE et cliquez sur Terminer.
Le plan de travail exécute l'utilitaire
StaticBinder et envoie la sortie de cet utilitaire à la vue Console :
================================================================================
L'utilitaire StaticBinder commence l'opération de liaison pour le fichier pureQueryXml
fichier 'C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml'.
Démarrage des options de processus :
-url "jdbc:db2://localhost:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;"
-username "*****" -password "*****"
-pureQueryXml "C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml"
L'utilitaire StaticBinder a lié avec succès le package 'myPkgA1' pour le niveau d'isolement 'UR'.
L'utilitaire StaticBinder a lié avec succès le package 'myPkgA2' pour le niveau d'isolement 'CS'.
L'utilitaire StaticBinder a lié avec succès le package 'myPkgA3' pour le niveau d'isolement 'RS'.
L'utilitaire StaticBinder a lié avec succès le package 'myPkgA4' pour le niveau d'isolement 'RR'.
L'opération de liaison s'est terminée avec succès pour
'C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml'.
================================================================================
Résultats de l'activité de l'utilitaire StaticBinder :
Nombre d'éléments pour lesquels l'opération de liaison a REUSSI : 1
La liaison pour le fichier XML MySample.pdqxml à l'aide de la connexion SAMPLE dans le projet pq-tutorial a abouti.
- Mettez à jour le code source pour exécuter une nouvelle instruction SQL et exécutez l'application.
- Dans l'Explorateur de packages, ouvrez l'application MySample.java.
- Définissez le paramètre dans l'application pour exécuter une nouvelle instruction SQL.
Modifiez la valeur de la variable i en la remplaçant par 2 dans le code suivant :
if ( args.length == 0) {
// value for the default SQL statement to run
i = 2 ;
- Sauvegardez le fichier.
- Exécutez l'application.
Cliquez avec le bouton droit de la souris sur le fichier MySample.java et cliquez sur
pureQuery
Runtime renvoie une erreur indiquant que l'instruction SQL est introuvable dans le fichier pureQueryXML.
Dans le fichier de propriétés pureQuery Runtime src/pdq.properties, la valeur de la propriété pureQueryXML est dataAccessFolder/capture.pdqxml. Le fichier pureQueryXML ne contient pas l'instruction SQL émise par l'application.
- Modifiez l'information dans le fichier pdq.properties pour définir le fichier MySample.pdqxml en tant que fichier pureQueryXML.
- Cliquez deux fois sur le fichier scr\pdq.properties.
Le fichier s'ouvre dans l'éditeur de propriétés PDQ.
- Définissez le fichier MySample.pdqxml en tant que fichier pureQueryXML en modifiant la valeur de la propriété pureQueryXML et en la remplaçant par dataAccessFolder/MySample.pdqxml.
pdq.captureMode=OFF
pdq.capturedOnly=TRUE
pdq.executionMode=STATIC
pdq.pureQueryXml=dataAccessFolder/MySample.pdqxml
- Sauvegardez le fichier.
- Exécutez l'application.
Cliquez avec le bouton droit de la souris sur le fichier MySample.java et cliquez sur
L'application est exécutée. La sortie apparaît dans la fenêtre
Console.
La sortie est similaire à l'exemple suivant :
=======
IBM InfoSphere Optim pureQuery Runtime 3.1.0.0 build 3.10.115
=======
case 2
case 2 - large projects: 11
Finished case 2
Grâce au mappage correct dans le fichier pureQueryXML MySample.java entre l'instruction SQL et le package sur la base de données SAMPLE, pureQuery Runtime peut exécuter l'instruction en mode statique.