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

(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:
- Vous pouvez spécifier les options dans n'importe quel ordre.
- 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.

>>-+--------------------------+--------------------------------->
'- -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"