Capture des instructions SQL à partir d'applications Web partageant une source de données

Si plusieurs applications Web partagent une source de données, vous pouvez définir des propriétés spécifiques à chaque application.

Pourquoi et quand exécuter cette tâche

Lorsque vous définissez des propriétés spécifiques à l'application, la modification des propriétés et la capture des instructions SQL d'une application n'interrompt pas les autres applications partageant une source de données. Vous pouvez également réaliser ces actions simultanément sur au moins deux de ces applications sans que l'une de ces actions ne gêne les autres, sauf si une ou plusieurs des applications reposent sur la mise en cache de l'instruction par le serveur d'applications.

En effet, si vous modifiez les propriétés spécifiques à une application, il n'est pas utile de redémarrer le serveur qui exécute toutes les applications. Vous pouvez simplement redémarrer une application.

Toutefois, si vous modifiez des propriétés se trouvant dans un fichier pdq.properties ou définies sur un objet DataSource, vous devez redémarrer le serveur d'applications. Les propriétés que vous définissez dans ces emplacements sont celles qui déterminent la manière dont pureQuery consigne les messages d'erreur. Voir Définition des propriétés de capture et d'exécution des ensembles restreints d'instructions SQL en mode dynamique pour obtenir des informations relatives à la définition des propriétés dans ces emplacements.

Procédure

Exemple

Soit deux applications Web, Application1 et Application2, s'exécutant sous WebSphere Application Server. Vous souhaitez les configurer de manière à exécuter les instructions SQL des fichiers pureQueryXML de manière dynamique.

Application1 utilise 2 sources de données : OrdersDS et ItemsDS. Application2 utilise également l'une de ces sources de données : OrdersDS.

La procédure ci-dessous explique comment procéder à une seule configuration.

Pour configurer et exécuter Application1, suivez la procédure ci-dessous :

  1. Dans WebSphere Application Server, définissez le serveur IBM® Data Server Driver personnalisé pour la source de données de la JDBC et SQLJ pour chacune des deux sources de données.
  2. Créez un fichier de propriétés pour chaque source de données : pdq.ItemsDS.properties et pdq.OrdersDS.properties.
  3. Définissez les propriétés requises dans chacun des fichiers de propriétés.

    Pour pdq.ItemsDS.properties, vous pouvez utiliser les paramètres suivants :

    pdq.captureMode=ON
    pdq.pureQueryXml=App1Items.pdqxml

    Pour pdq.OrdersDS.properties, vous pouvez utiliser les paramètres suivants :

    pdq.captureMode=ON
    pdq.pureQueryXml=App1Orders.pdqxml
    Les noms de fichiers pureQueryXML peuvent suivre la convention de votre choix, tant que leur extension est .pdqxml ou .xml.
  4. Capturez les instructions SQL.
  5. Dans les deux fichiers de propriétés, attribuez la valeur OFF à captureMode.
  6. Si vous utilisez le cache d'instruction du serveur d'applications, purgez les pools de connexions des deux sources de données.
  7. Redémarrez Application1.

Pour configurer et exécuter Application2, vous pouvez procéder comme suit :

  1. Créez le fichier de propriétés pdq.OrdersDS.properties.
  2. Définissez les propriétés requises dans chacun des fichiers de propriétés.
    pdq.captureMode=ON
    pdq.pureQueryXml=App2Orders.pdqxml
    De nouveau, le nom du fichier pureQueryXML peut suivre la convention de votre choix. Toutefois, l'extension doit être .pdqxml ou .xml.
  3. Capturez les instructions SQL.
  4. Dans le fichier pdq.OrdersDS.properties, attribuez la valeur OFF à captureMode.
  5. Si vous utilisez le cache d'instruction du serveur d'applications, purgez le pool de connexions de la source de données.
  6. Redémarrez Application2.

Commentaires