Das Dienstprogramm GeneratePureQueryXml generiert eine pureQueryXML-Datei aus einer SQL-Scriptdatei, die Anweisungen und Cursorattributinformationen enthält.
Das Dienstprogramm GeneratePureQueryXml liest eine Datei, die SQL-Anweisungen und Cursorattributinformationen enthält und erstellt eine pureQueryXML-Datei. Nachdem die Datei erstellt wurde, können Sie die Datei mit dem Dienstprogramm Configure für die Verwendung mit pureQuery Runtime vorbereiten. Nachdem Sie die pureQueryXML-Datei konfiguriert haben, verwenden Sie das Dienstprogramm StaticBinder, um DB2-Pakete zu erstellen und die binden, die die SQL-Anweisungen in der konfigurierten pureQueryXML-Datei enthalten.
Befehlssyntax

(1)
>>-------java--java com.ibm.pdq.tools.GeneratePureQueryXml------>
>-- -username--Benutzer-ID-- -password--Kennwort-- -url--JDBC-URL-->
>--+----------------------------+-- -pureQueryXml--Dateiname---->
'- -driverName--JDBC-Treiber-'
>-- -inputSql--Dateiname---------------------------------------->
>--+-----------------------------------+------------------------>
'- -commentStart--Kommentaranzeiger-'
>--+---------------------------------+-------------------------->
'- -statementDelimiter -Begrenzer-'
>--+-------------------------------------+---------------------->
'- -resultSetHoldability -Lebensdauer-'
>--+---------------------------------------------+-------------->
'- -resultSetConcurrency--gemeinsamer_Zugriff-'
>--+----------------------+--+-----------------------+---------->
'- -resultSetType--Typ-' | (2) |
'-| Traceoptionen |-----'
>--+--------+--------------------------------------------------><
'- -help-'
Anmerkungen:
- Sie können die Optionen in beliebiger Reihenfolge angeben.
- Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.
Eine Beschreibung der im Diagramm verwendeten Konventionen finden Sie in Syntaxdiagramme lesen.
Beschreibungen der Optionen
- -username Benutzer-ID
- Die Benutzer-ID gibt die Benutzer-ID an, die für die Authentifizierung mit der Datenbank verwendet wird.
- -password Kennwort
- Gibt das Kennwort an, das für die Authentifizierung mit der Datenbank verwendet werden soll.
- -url JDBC-URL
- Gibt die JDBC-URL an, die zum Herstellen einer Verbindung zur Datenbank verwendet werden soll.
- -driverName JDBC-Treiber
- Gibt den vollständig qualifizierten Namen des JDBC-Treibers an, der zum Herstellen einer Verbindung zur Datenbank verwendet werden soll. Der Standardwert ist com.ibm.db2.jcc.DB2Driver,
der Treiber für IBM® Data
Server Driver für JDBC und SQLJ.
- -pureQueryXml Datei
- Gibt den absoluten oder relativen Pfad zur pureQueryXML-Ausgabedatei an.
- -inputSql Datei
- Gibt den absoluten oder relativen Pfad zur SQL-Scriptdatei an.
Informationen zum Format der SQL-Scriptdatei finden Sie in Format der vom Dienstprogramm GeneratePureQueryXml verwendeten SQL-Scriptdatei.
- -commentStart Datei
- Gibt die Zeichenkombination an, die am Anfang einer Zeile angibt, dass es sich um eine Kommentarzeile handelt. Eine Kommentarzeile kann Cursorattribute einer Anweisung enthalten, die auf die SQL-Anweisung angewendet werden, die dem Kommentar unmittelbar folgt. Die Standardeinstellung sind zwei Gedankenstriche (--).
- -statementDelimiter Begrenzer
- Gibt die Zeichenkombination an, die in SQL-Scriptdateien zum Trennen von Anweisungen verwendet wird. Der Standardwert ist ein Semikolon (;).
- -resultSetHoldability Lebensdauer
- Gibt die Lebensdauer der Ergebnismenge an, die auf alle Anweisungen angewendet wird.
Für die Lebensdauer kann einer der folgenden Werte angegeben werden:
- CLOSE_CURSORS_AT_COMMIT legt fest, dass die Ergebnismengen beim Commit geschlossen werden.
- HOLD_CURSORS_OVER_COMMIT legt fest, dass die Ergebnismengencursor commitübergreifend beibehalten werden.
Der Standardwert ist HOLD_CURSORS_OVER_COMMIT.
Die Lebensdauer einer bestimmten SQL-Anweisung kann in der SQL-Anweisung überschrieben werden, indem die Lebensdauer in der Kommentarzeile angegeben wird, die der SQL-Anweisung unmittelbar vorausgeht.
- -resultSetConcurrency gemeinsamer_Zugriff
- Gibt den gemeinsamen Zugriff für die Ergebnismenge fest, der auf alle Anweisungen angewendet wird.
Für den gemeinsamen Zugriff kann einer der folgenden Werte angegeben werden:
- CONCUR_READ_ONLY legt die Cursorparallelität als schreibgeschützt fest.
- CONCUR_UPDATABLE legt die Cursorparallelität als aktualisierbar fest.
Der Standardwert ist CONCUR_READ_ONLY.
Der Wert für den gemeinsamen Zugriff einer bestimmten SQL-Anweisung kann in der SQL-Anweisung überschrieben werden, indem der gemeinsame Zugriff in der Kommentarzeile angegeben wird, die der SQL-Anweisung unmittelbar vorausgeht.
- -resultSetType Typ
- Gibt den Ergebnismengentyp an, der auf alle Anweisungen angewendet wird. Für den Typ kann einer der folgenden Werte angegeben werden:
- TYPE_FORWARD_ONLY legt den Ergebnismengentyp als nur vorwärts fest.
- TYPE_SCROLL_SENSITIVE legt den Ergebnismengentyp als blättersensitiv fest.
- TYPE_SCROLL_INSENSITIVE legt den Ergebnismengentyp als nicht blättersensitiv fest.
Der Wert für den Ergebnismengentyp einer bestimmten SQL-Anweisung kann in der SQL-Anweisung überschrieben werden, indem der Ergebnismengentyp in der Kommentarzeile angegeben wird, die der SQL-Anweisung unmittelbar vorausgeht.
- Traceoptionen
- Sie können die Datei, in der Nachrichten protokolliert werden sollen, und
die zu protokollierende Informationsebene angeben.

>>-+------------------------+--+---------------------------+---><
'- -traceFile--Dateiname-' | .-OFF-----. |
'- -traceLevel--+-ALL-----+-'
+-SEVERE--+
+-WARNING-+
+-INFO----+
+-CONFIG--+
+-FINE----+
+-FINER---+
'-FINEST--'
- -traceFile Dateiname
- Gibt den absoluten oder relativen Pfad und den Namen der Datei an, die zum Protokollieren von Informationen zur Operation verwendet werden soll.
- Falls die Datei bereits vorhanden ist, hängt pureQuery neue Nachrichten an den vorhandenen Inhalt der Datei an. Standardmäßig werden die Einträge in 'System.err' geschrieben.
- -traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
- Gibt den zu protokollierenden Informationstyp an. Die Standardstufe ist OFF. Wenn Sie keine Datei angeben, in die die Protokolleinträge geschrieben werden sollen, und Sie diese Option auf einen anderen Wert als OFF setzen, werden die Einträge in 'System.err' geschrieben.
- -help
- Zeigt Übersichtsdaten zur Verwendung an.
Hinweise zur pureQueryXML-Ausgabedatei
Die folgende Liste enthält Informationen zur Verwendung der pureQueryXML-Datei:
- Stellen Sie beim Erstellen einer pureQueryXML-Datei aus einer SQL-Scriptdatei sicher, dass für jede SQL-Anweisung die folgenden Bedingungen erfüllt werden:
- Der SQL-Anweisungstext in der Datei muss genau mit der von der Anwendung abgesetzten SQL-Anweisung übereinstimmen.
- Die in der Datei für die SQL-Anweisung angegebenen Einstellungen zur Lebensdauer der Ergebnismenge, zum gemeinsamen Zugriff und zum Typ müssen mit den Einstellungen der von der Anwendung abgesetzten SQL-Anweisung übereinstimmen.
Stimmen die Informationen nicht überein, führt die pureQuery-Clientoptimierung keinen Abgleich der SQL-Anweisung mit der von der Anweisung abgesetzten Anweisung aus, wenn die pureQuery-Laufzeiteigenschaft executionMode auf STATIC gesetzt ist oder wenn die Laufzeiteigenschaft capturedOnly auf TRUE gesetzt ist.
- Die pureQueryXML-Ausgabedatei kann nicht direkt für die pureQuery-Clientoptimierung für die statische Ausführung von SQL-Anweisungen verwendet werden. Bevor Sie das Dienstprogramm StaticBinder verwenden, müssen Sie die pureQueryXML-Datei mit dem Dienstprogramm Configure so modifizieren, dass sie für die pureQuery-Clientoptimierung verwendet werden kann.
- Die pureQueryXML-Ausgabedatei enthält keine Informationen zur Anwendungsausführung, wie Stack-Trace-Informationen und Sonderregisterinformationen, die für eine pureQueryXML-Datei verfügbar sind, die während der Erfassung von SQL-Anweisungen aus einer Anwendung erstellt wurden, die die pureQuery-Clientoptimierung verwendet.
- Die pureQueryXML-Ausgabedatei enthält nicht die folgenden Informationen für SQL-Anweisungen, die von der pureQuery-Clientoptimierung verwendet werden, um anzugeben, dass eine Anweisung eine Übereinstimmung ist und während der Laufzeit statisch ausgeführt werden soll:
- Automatisch generierte Schlüsselspaltennamen
- Automatisch generierte Schlüsselspaltenindizes
- Automatisch generierter Schlüsselanzeiger
Ist eine Anwendung, die die pureQuery-Clientoptimierung verwendet, so konfiguriert, dass sie SQL-Anweisungen statisch ausführt und eine vom Dienstprogramm GeneratePureQueryXml erstellte pureQueryXML-Datei verwendet, wird eine von der Anwendung abgesetzte Anweisung nicht statisch ausgeführt, wenn die Anwendung eines dieser drei Features verwendet, auch wenn der Text der SQL-Anweisungen identisch ist.
Das folgende Beispiel erstellt die pureQueryXML-Datei c:\statements.pdqxml, die Informationen zu Anweisungen enthält, die sich in der SQL-Scriptdatei c:\mystatements.sql befinden.
java com.ibm.pdq.tools.GenPdqXml
-username db2admin –password mypass
–url jdbc:db2://localhost:50000/mydb
–pureQueryXml "c:\statements.pdqxml" –inputSql "c:\mystatements.sql"