Scénario : Capture, récupération et fusion des données SQL

Dans ce scénario, l'application n'est pas complexe. Vous exécutez l'application en exécutant deux fois le servlet deployé pour capturer les instructions SQL lancées par l'application. Après avoir exécuté l'application, vous récupérez et traitez les données SQL capturées et stockées dans le référentiel.

Pourquoi et quand exécuter cette tâche

Pour ce scénario, l'application s'exécute avec trois clients d'application. Ces trois clients d'application écrivent tous dans le référentiel et créent des enregistrements de capture incrémentiels.

Vous récupérez les enregistrements contenant les données SQL capturées dans des fichiers sur votre système local à l'aide de l'utilitaire pureQuery ManageRepository, vous fusionnez les fichiers SQL capturés pour créer un fichier unique au moyen de l'utilitaire Merge. Vous traitez ce fichier unique à l'aide des utilitaires pureQuery de configuration et StaticBinder.

Procédure

Pour capturer, récupérer et fusionner les données SQL :

  1. Exécutez l'application WebSphere pour capturer les données SQL.

    Lancez l'application déployée afin d'exécuter les instructions SQL dans l'application.

    L'exécution pureQuery capture les données SQL dans l'application déployée.
  2. Récupérez les données SQL capturées.
    Pour extraire les fichiers SQL capturés stockés dans le référentiel, exécutez la commande suivante :
    java com.ibm.pdq.tools.ManageRepository 
    -extract runtimeGroup 
    -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "myuser" -repositoryPassword "mypwd" 
    -runtimeGroupId testApp -runtimeGroupVersion V1 
    -outputDirectory C:\TEMP\out 
    –incrementalCapture myCapture 

    La valeur myCapture de l'option ManageRepository -incrementalCapture implique que les noms des fichiers d'instructions SQL capturées soient du type myCapture_n.pdqxml, où n est un entier. Les fichiers se trouvent dans le répertoire C:\TEMP\out.

  3. Récupérez les données pureQueryXML pour la version du groupe d'exécution.
    Exécutez la commande suivante :
    java com.ibm.pdq.tools.ManageRepository 
    -extract runtimeGroup 
    -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "myuser" -repositoryPassword "mypwd" 
    -runtimeGroupId testApp -runtimeGroupVersion V1 
    -outputDirectory C:\TEMP\out 
    –pureQueryXml baseTestApp.pdqxml 

    La commande récupère les données pureQueryXML de la version du groupe d'exécution et stocke les données dans le fichier C:\TEMP\out\baseTestApp.pdqxml. Le fichier contient uniquement les informations pureQueryXML de base ; il ne contient pas de données SQL.

  4. Exécutez l'utilitaire Merge sur les fichiers de capture incrémentiels et le fichier baseTestApp.pdqxml. L'utilitaire Merge combine les données provenant des fichiers pureQueryXML en un seul fichier pureQueryXML. Le fichier généré peut être utilisé par l'utilitaire Configure pureQuery.
    La commande de l'utilitaire Merge suivante utilise le caractère générique pour fusionner les fichiers SQL capturés :
    java com.ibm.pdq.tools.Merge 
       -inputPureQueryXml C:\TEMP\out\myCapture_*.pdqxml 
       -baseFile C:\TEMP\out\baseTestApp.pdqxml
       -outputPureQueryXml C:\TEMP\out\testApp.pdqxml

    Vous devez exécuter l'utilitaire Merge pour fusionner les fichiers de capture incrémentiels et créer un fichier qui peut être traité par l'utilitaire Configure. L'utilitaire Configure ne peut pas configurer directement les fichiers pureQueryXML qui sont créés lors de l'extraction des instructions SQL capturées à partir d'un référentiel.

    L'utilitaire Merge crée le fichier testApp.pdqxml à partir des fichiers d'entrée.

  5. Supprimez les données SQL capturées du référentiel.
    Exécutez la commande ManageRepository suivante :
    java com.ibm.pdq.tools.ManageRepository 
       -delete incremental 
       -runtimeGroupId group1 
       -runtimeGroupVersion V1 
       -incrementalCapture myCapture
       -inputDirectory C:\TEMP\out 
    L'utilitaire ManageRepository compare les données des fichiers pureQueryXML comportant le préfixe myCapture avec les données SQL capturées dans la version du groupe d'exécution spécifiée. Si les données correspondent, les données du référentiel sont supprimées.

Résultats

Vous avez créé un fichier pureQueryXML testApp.pdqxml dans le répertoire en cours, qui contient les données provenant des fichiers d'instructions SQL capturées.

Que faire ensuite

Dans la tâche suivante, vous configurerez le fichier pureQueryXML afin de préparer les instructions SQL dans le fichier à lier à la base de données cible. Vous créerez également des modules qui contiennent des instructions SQL et vous lierez ces modules à la base de données.


Commentaires