Utilisation de pureQuery en mode dynamique par rapport au mode statique pour DB2 et Informix

L'utilisation d'IBM® Optim PureQuery Runtime constitue un autre mode d'accès pour l'API JPA (Java™ Persistence API) à des bases de données DB2 et Informix. IBM Optim PureQuery Runtime prend en charge le langage SQL (Structured Query Language) statique.

Avant de commencer

Important : BatchLimit est une propriété configurable. La valeur par défaut pour DB2 est 100 et pour Informix, la valeur par défaut est 0. Si vous attribuez la valeur 0 à batchLimit, le traitement par lots n'a pas lieu. Pour qu'une application dispose du traitement par lots hétérogène pour le logiciel de base de données dorsal Informix, batchLimit est configuré dans le fichier persistence.xml. Voici comment attribuer la valeur 100 à batchLimit :
<property name="openjpa.jdbc.DBDictionary" value="batchLimit=100"/> 

Pourquoi et quand exécuter cette tâche

Feature Pack for OSGi Applications and Java Persistence API (JPA) 2.0 prend en charge IBM Optim PureQuery Runtime 2.2.0.2 et les versions ultérieures. La nouvelle fonction ajoutée pour IBM Optim PureQuery Runtime 2.2.0.3 prend en charge les applications Informix, and DB2 afin d'utiliser pureQuery en mode DYNAMIC.

Pour cela, la configuration de pdqProperties est effectuée sur la source de données dans l'environnement Java Enterprise Edition (Java EE). Il est également possible de définir pdqProperties sur l'URL de connexion dans l'environnement JSE (Java Standard Edition).

Si pdqProperties n'est pas défini, pureQuery s'exécute en mode compatible, autrement dit le fichier pdqxml est placé dans les fichiers JAR (Java archive) de l'application.

Il existe plusieurs rubriques qui font référence à pdqProperties dans le centre de documentation IBM Integrated Data Management.

Procédure

  1. Lors de la définition d'une source de données dans un environnement Java EE, ajoutez une propriété personnalisée pdqProperties et attribuez une valeur de chaîne à des propriétés IBM Optim PureQuery Runtime valides. Dans le tableau suivant, un exemple d'executionMode(DYNAMIC) est présenté pour l'utilisation du mode dynamique pureQuery. Toute propriété IBM Optim PureQuery Runtime valide peut être spécifiée pour l'exécution dynamique. Lorsque l'élément pdqProperties contient la propriété pureQuery Xml(pdqxml-file-location), IBM Optim PureQuery Runtime utilise SQL en mode STATIC disponible dans le fichier pdqxml. Cette propriété pureQueryXML contient l'emplacement du fichier pdqxml.
    Avertissement : Il est supposé que le fichier pdqxml a été précédemment associé à la base de données.
    Tableau 1. Exemples de paramètres pdqProperties pour DB2 et Informix. Exemples de paramètres pdqProperties pour DB2 et Informix
    pdqProperties= Arrière-plan DB2 Informix
    executionMode(DYNAMIC) exécution dynamique exécution dynamique
    executionMode(STATIC),pureQueryXML(c:/temp/ItemEJB.pdqxml)
    Avertissement : executionMODE(DYNAMIC) et executionMode(STATIC) sont requis pour les exécutions dynamiques et statiques.

    Pour le mode d'exécution statique, la spécification de fichier pdqxml suit la documentation d'IBM Optim PureQuery Runtime.

    pureQueryXML(pdqxml-file-location) constitue l'une des méthodes permettant de spécifier l'emplacement de fichier pdqxml. L'emplacement du fichier pdqxml est le chemin du fichier pdqxml. Par exemple, c:/temp/ItemEJB.pdqxml.

    exécution statique NA (ignoré)
  2. Dans un environnement Java SE, pdqProperties peut être défini sur l'URL de connexion. Vous pouvez spécifier l'élément pdqProperties sur l'URL de connexion de deux façons différentes :
    1. Utilisez openjpa.connectionProperties Exemple :
      <property name="openjpa.ConnectionProperties"
                value="DriverClassName=com.ibm.db2.jcc.DB2Driver, 
                                       Url='jdbc:db2://localhost:50000/demodb:pdqProperties=
                                           pureQueryXml(C:/wsjpa1/fvt/resources/demo.pdqxml);', 
                Username=myid, Password=secret" />
    2. Utilisez openjpa.ConnectionURL. Exemple :
      <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver"/>
      <property name="javax.persistence.jdbc.url" 
                value="jdbc:db2:fvt2:pdqProperties=pureQueryXml(C:/wsjpa1/fvt/resources/demo.pdqxml);"/>
      <property name="javax.persistence.jdbc.user" value="myid"/>
      <property name="javax.persistence.jdbc.password" value="secret"/>
    Avertissement : L'emplacement du fichier pureQueryXml doit accorder des droits en lecture/écriture pour qu'IBM Optim PureQuery Runtime puisse mettre à jour le fichier.
    Avertissement : La source de données définie pour l'exécution d'IBM Optim PureQuery Runtime ne doit pas être partagée avec les applications qui exécutent SQL dans JDBC.
    Lorsque pdqProperties est défini sur la source de données d'une URL de connexion, même lorsque le fichier pdqxml est placé dans le fichier JAR d'application, le fichier pdqxml est ignoré. Toutefois, si l'élément pdqProperties n'est pas défini, le fichier pdqxml se trouvant dans le fichier JAR de l'application est recherché par l'environnement d'exécution (il s'agit du mode compatible). Si le fichier pdqxml est trouvé, le mode d'exécution STATIC est défini. Sinon, tous les éléments SQL sont exécutés dans JDBC.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_pdqdynamic
Nom du fichier : tejb_pdqdynamic.html