Utilitaire GeneratePureQueryXml

L'utilitaire GeneratePureQueryXml permet de générer un fichier pureQueryXML à partir d'un fichier script SQL contenant des instructions et des informations d'attribut de curseur.

L'utilitaire GeneratePureQueryXml lit un fichier contenant des instructions SQL et des informations d'attribut de curseur et crée un fichier pureQueryXML. Une fois le fichier créé, utilisez l'utilitaire Configure pour le préparer et que pureQuery Runtime puisse ainsi l'utiliser. Une fois le fichier pureQueryXML configuré, utilisez l'utilitaire StaticBinder pour créer et lier les packages DB2 contenant les instructions SQL dans le fichier pureQueryXML configuré.

Syntaxe de la commande

Lire le diagrammeSauter le diagramme
    (1)                                                      
>>-------java--java com.ibm.pdq.tools.GeneratePureQueryXml------>

>-- -username--ID-utilisateur-- -password--mot de passe-- -url--URL-JDBC-->

>--+---------------------------+-- -pureQueryXml--nom-fichier--->
   '- -driverName--pilote-JDBC-'                                

>-- -inputSql--nom-fichier-------------------------------------->

>--+----------------------------------------+------------------->
   '- -commentStart--indicateur-commentaire-'   

>--+----------------------------------+------------------------->
   '- -statementDelimiter -délimiteur-'   

>--+-----------------------------------------+------------------>
   '- -resultSetHoldability -mise en suspens-'   

>--+------------------------------------------+----------------->
   '- -resultSetConcurrency--accès concurrent-'   

>--+-----------------------+--+--------------------------+------>
   '- -resultSetType--type-'  |                      (2) |   
                              '-| Options de trace |-----'   

>--+--------+--------------------------------------------------><
   '- -help-'   

Remarques:
  1. Vous pouvez spécifier les options dans n'importe quel ordre.
  2. Pour la syntaxe, voir la description de ces options.

Pour comprendre les conventions utilisées dans le diagramme, voir Lecture des diagrammes de syntaxe.

Descriptions des options

-username ID-utilisateur
La variable ID-utilisateur indique l'ID utilisateur permettant de procéder à une authentification avec la base de données.
-password mot_de_passe
Indique le mot de passe permettant de procéder à une authentification avec la base de données.
-url URL-JDBC
Indique l'adresse URL JDBC à utiliser pour établir une connexion avec la base de données.
-driverName pilote-JDBC
Indique le nom qualifié complet du pilote JDBC à utiliser pour établir une connexion avec la base de données. La valeur par défaut est com.ibm.db2.jcc.DB2Driver, le pilote d'IBM® Data Server Driver for JDBC and SQLJ.
-pureQueryXml fichier
Spécifie le chemin d'accès absolu ou relatif au fichier de sortie pureQueryXML.
-inputSql fichier
Spécifie le chemin d'accès absolu ou relatif au fichier script SQL. Pour plus d'informations sur le format du fichier script SQL, voir Format du fichier script SQL utilisé par l'utilitaire GeneratePureQueryXml.
-commentStart fichier
Indique la combinaison de caractères qui s'affiche au début d'une ligne pour indiquer une ligne commentaire. Une ligne commentaire peut contenir les attributs de curseur applicables à l'instruction SQL immédiatement après le commentaire. Il s'agit par défaut de deux tirets (--).
-statementDelimiter délimiteur
Indique la combinaison de caractères utilisée dans le fichier script SQL pour séparer les instructions. Il s'agit par défaut d'un point-virgule (;).
-resultSetHoldability mise en suspens
Indique le paramètre de mise en suspens à appliquer à toutes les instructions pour l'ensemble de résultats. La variable mise en suspens peut être définie sur l'une des valeurs suivantes :
  • CLOSE_CURSORS_AT_COMMIT : mise en suspens de l'ensemble de résultats définie de sorte que les curseurs se ferment sur validation.
  • HOLD_CURSORS_OVER_COMMIT : mise en suspens de l'ensemble de résultats définie de sorte que les curseurs se maintiennent sur validation.

La valeur par défaut est HOLD_CURSORS_OVER_COMMIT.

La valeur de mise en suspens peut être redéfinie pour une instruction SQL spécifique en indiquant la valeur de mise en suspens sur une ligne commentaire juste avant l'instruction SQL.

-resultSetConcurrency accès concurrent
Indique le paramètre d'accès concurrent à appliquer à toutes les instructions pour l'ensemble de résultats. Cette variable peut être définie sur l'une des valeurs suivantes :
  • CONCUR_READ_ONLY : définit le mode d'accès concurrent des curseurs sur lecture uniquement.
  • CONCUR_UPDATABLE définit le mode d'accès concurrent des curseurs sur actualisable.

La valeur par défaut est CONCUR_READ_ONLY.

La valeur d'accès concurrent eut être redéfinie pour une instruction SQL spécifique en indiquant la valeur d'accès concurrent sur une ligne commentaire juste avant l'instruction SQL.

-resultSetType type
Indique le type d'ensemble de résultats à appliquer à toutes les instructions. Le type peut être défini sur l'une des valeurs suivantes :
  • TYPE_FORWARD_ONLY : définit le type d'ensemble de résultats sur déplacement avant uniquement.
  • TYPE_SCROLL_SENSITIVE : définit le type d'ensemble de résultats sur sensible au défilement.
  • TYPE_SCROLL_INSENSITIVE : définit le type d'ensemble de résultats sur non sensible au défilement.

Le type d'ensemble de résultats peut être redéfini pour une instruction SQL spécifique en indiquant le type d'ensemble de résultats sur une ligne commentaire juste avant l'instruction SQL.

Options de trace
Vous pouvez demander à ce que le fichier journalise les messages et préciser le niveau d'information à journaliser.
Lire le diagrammeSauter le diagramme
>>-+--------------------------+--------------------------------->
   '- -traceFile--nom_fichier-'   

>--+---------------------------+-------------------------------><
   |               .-OFF-----. |   
   '- -traceLevel--+-ALL-----+-'   
                   +-SEVERE--+     
                   +-WARNING-+     
                   +-INFO----+     
                   +-CONFIG--+     
                   +-FINE----+     
                   +-FINER---+     
                   '-FINEST--'     

-traceFile nom_fichier
Indique le chemin absolu ou relatif ainsi que le nom du fichier à utiliser pour la journalisation des informations relatives à l'opération.
Si le fichier existe déjà, pureQuery ajoute les nouveaux messages à la suite des messages déjà placés dans ce fichier. Par défaut, les entrées sont écrites dans System.err.
-traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
Indique le type d'informations à journaliser. Le niveau par défaut est OFF. Si vous ne spécifiez pas de fichier dans lequel écrire les entrées de journal et que vous associez cette option à une valeur autre qu'OFF, les entrées sont écrites dans System.err.
-help
Affiche un récapitulatif des informations d'utilisation.

Notes concernant le fichier de sortie pureQueryXML

La liste suivante contient des informations concernant l'utilisation du fichier pureQueryXML :
  • Lors de la création d'un fichier pureQueryXML à partir d'un fichier script SQL, assurez-vous que les critères suivants sont remplis pour chaque instruction SQL :
    • Le texte de l'instruction SQL dans le fichier correspond parfaitement à l'instruction SQL émise par l'application.
    • Les paramètres de mise en suspens, d'accès concurrent et de type de l'ensemble de résultats pour l'instruction SQL dans le fichier correspondent aux paramètres de l'instruction SQL émise par l'application.

    Si les informations ne correspondent pas, l'optimisation client pureQuery ne permet pas de mettre en correspondance l'instruction SQL et celle émise par l'application lorsque la propriété executionMode de pureQuery Runtime est définie sur STATIC ou que la propriété capturedOnly est définie sur TRUE.

  • Le fichier de sortie pureQueryXML ne peut pas être directement utilisé avec l'optimisation client pureQuery pour exécuter des instructions SQL de façon statique. Avant d'utiliser l'utilitaire StaticBinder, vous devez modifier le fichier pureQueryXML au moyen de l'utilitaire Configure de sorte qu'il puisse être utilisé avec l'optimisation client pureQuery.
  • Le fichier de sortie pureQueryXML ne contient pas d'informations relatives à l'exécution de l'application telles que des informations sur la trace de pile et les registres spéciaux, qui sont disponibles dans un fichier pureQueryXML créé lors de la capture d'instructions SQL à partir d'une application utilisant l'optimisation client pureQuery.
  • Le fichier de sortie pureQueryXML ne contient pas les informations suivantes, relatives aux instructions SQL, qui sont utilisées par l'optimisation client pureQuery pour identifier une instruction comme exécutable de façon statique à l'exécution :
    • Noms de colonne de clé autogénérés
    • Index Noms de colonne de clé autogénérés
    • Indicateur de clé autogénéré

    Si une application utilisant l'optimisation client pureQuery est configurée pour exécuter des instructions SQL de façon statique et qu'elle utilise un fichier pureQueryXML créé par l'utilitaire GeneratePureQueryXml, toute instruction émise par l'application ne sera pas exécutée de façon statique si l'instruction utilise l'une des trois fonctions, même si le textes des instructions SQL est identique.

Dans l'exemple suivant, le fichier pureQueryXML c:\statements.pdqxml contenant des informations sur les instructions détectées dans le fichier script SQL c:\mystatements.sql est créé :
java com.ibm.pdq.tools.GenPdqXml 
    -username db2admin –password mypass 
    –url jdbc:db2://localhost:50000/mydb 
    –pureQueryXml "c:\statements.pdqxml" –inputSql "c:\mystatements.sql"

Commentaires