Dienstprogramm Configure

Mit dem pureQuery-Dienstprogramm Configure können Sie mehrere Merkmale der DB2-Pakete definieren, die Sie letztlich für die SQL-Anweisungen in Ihren pureQueryXML-Dateien erstellen. Sie können die Objektgruppe, die Version und den Stammpaketnamen der DB2-Pakete sowie die maximale Anzahl der SQL-Anweisungen definieren, die in einem Paket zulässig sind. Die Xml-Schemaprüfung kann auch für pureQueryXML-Eingabedateien ausgeführt werden.

Die von Ihnen definierten Merkmale werden der pureQueryXML-Datei hinzugefügt. Wenn Sie das Dienstprogramm StaticBinder ausführen, um die SQL-Anweisungen, die sich in einer pureQueryXML-Datei befinden, zu einem DB2-Paket zu binden, liest das Dienstprogramm StaticBinder diese Merkmale.

Anmerkung: Bei der pureQueryXML-Eingabedatei darf es sich nicht um eine pureQueryXML-Datei handeln, die auf eine der folgenden Arten erstellt wurde:
  • Die Datei wurde erstellt, um weitere SQL-Anweisungen zu erfassen, wenn die Eigenschaften outputPureQueryXml und pureQueryXML angegeben wurden. Wenn beide Eigenschaften angegeben werden, enthält die PureQueryXML-Ausgabedatei erfasste SQL-Anweisungen, die in der über die Eigenschaft pureQueryXML angegebenen Datei nicht enthalten sind. Vor dem Konfigurieren müssen Sie die beiden Dateien zusammenführen. Verwenden Sie die über die Eigenschaft pureQueryXML angegebene Datei als Basisdatei.
  • Die Datei enthält aus einem Repository extrahierte erfasste SQL-Daten und die aktive Laufzeitgruppenversion enthält pureQueryXML-Daten. Vor dem Konfigurieren müssen Sie die pureQueryXML-Daten aus der Laufzeitgruppenversion extrahieren und die beiden Dateien zusammenführen. Verwenden Sie die Datei mit den pureQueryXML-Daten als Basisdatei.

Dieses Thema ist in die folgenden Abschnitte unterteilt:

Eine Beschreibung der in den Diagrammen verwendeten Konventionen finden Sie in Syntaxdiagramme lesen.

Ausgabe des Dienstprogramms Configure

Das Dienstprogramm Configure generiert ein bis drei zusätzliche Dateien für jede pureQueryXML-Datei, die es aktualisiert.
  • Die erste Datei, die das Dienstprogramm Configure immer generiert, ist eine Kopie der von Ihnen bereitgestellten pureQueryXML-Datei. Lautet der Name der pureQueryXML-Datei sampleJDBC.pdqxml, heißt die Kopie sampleJDBC.pdqxml.org. Hierbei ist "org" eine Abkürzung für "original".
  • Die zweite Datei wird generiert, wenn Sie bei der Ausführung des Dienstprogramms Configure über die Option pkgVersion eine Versions-ID angeben. Das Dienstprogramm Configure hängt den Wert an den Namen einer Kopie der pureQueryXML-Datei an. -pkgVersion Ver1.0 -pureQueryXml sampleJDBC.pdqxml generiert beispielsweise eine Datei mit dem Namen sampleJDBC.pdqxml_Ver1.0, die abgesehen vom Namen mit der aktualisierten Datei sampleJDBC.pdqxml identisch ist.
    Sie können die Versionssteuerung verwenden, wenn ein Wechsel zu älteren Versionen der DB2-Pakete möglich sein soll, die Ihrer Anwendung zugeordnet sind. Beispiel: Sie verfügen über vier pureQueryXML-Dateien:
    • sampleJDBC.pdqxml und sampleJDBC.pdqxml_3.0, die identisch sind.
    • sampleJDBC.pdqxml_2.5
    • sampleJDBC.pdqxml_2.0
    Sie verfügen außerdem über entsprechende DB2-Pakete mit denselben Versionsnummern. Nach der Ausführung Ihrer Anwendung mit dem neuesten DB2-Paket (Version 3.0) entschließen Sie sich, dass das vorherige Paket mit Version 2.5 wieder verwendet werden soll. Sie ersetzen die aktuelle Datei sampleJDBC.pdqxml durch eine Kopie von sampleJDBC.pdqxml_2.5 und führen dann Ihre Anwendung aus. Wenn Sie dann wieder Version 3.0 Ihres DB2-Pakets verwenden wollen, ersetzen Sie einfach sampleJDBC.pdqxml durch eine Kopie von sampleJDBC.pdqxml_3.0.
  • Die dritte Datei wird generiert, wenn die pureQueryXML-Datei DDL-Anweisungen enthält. Mit Ausnahme der Anweisungen DECLARE GLOBAL TEMPORARY TABLE kopiert das Dienstprogramm Configure alle DDL-Anweisungen, die sich in der Datei pureQueryXML befinden, in eine Textdatei mit dem Dateityp .ddl. Mithilfe dieser Datei kann ein Datenbankadministrator die Anweisungen auf dem Datenbankverwaltungszielsystem ausführen, bevor die DML-Anweisungen gebunden werden, die auf diese DDL-Anweisungen verweisen. Die Datenbankobjekte, die die DDL-Anweisungen erstellen oder ändern, müssen vorhanden sein, damit DML-Anweisungen, die auf diese Objekte verweisen, gebunden werden können. Sie müssen diese DDL-Datei möglicherweise bearbeiten.

Sie können eine pureQueryXML-Datei in einem Editor öffnen, um die Aktualisierungen anzuzeigen, die das Dienstprogramm Configure an dieser Datei vorgenommen hat.

Sie können mehrere SQL-Anweisungen in einer pureQueryXML-Datei erfassen, die Sie bereits mit dem Dienstprogramm Configure verarbeitet haben. Wenn Sie das Dienstprogramm Configure zum Verarbeiten der neuen SQL-Anweisungen in der pureQueryXML-Datei verwenden, geben Sie mit der Option -cleanConfigure an, wie vorhandene SQL-Anweisungen und Anweisungsgruppen verarbeitet werden:
  • Ist der Standardwert für die Option -cleanConfigure angegeben, versucht das Dienstprogramm Configure den Inhalt der vorhandenen, bereits konfigurierten und gebundenen Anweisungsgruppen in der pureQueryXML-Datei beizubehalten. Wenn es nicht möglich ist, die Informationen beizubehalten, wird eine Nachricht angezeigt.

    Verwenden Sie diese Einstellung, um die DB2-Pakete fortzusetzen, die aus den SQL-Anweisungen in der pureQueryXML-Datei erstellt wurden.

  • Ist der Wert für -cleanConfigure auf 'TRUE' gesetzt, behält das Dienstprogramm Configure die Informationen der Anweisungsgruppen nicht bei.

DB2-Sonderregister

Wenn pureQuery Runtime SQL-Anweisung erfasst, die für eine DB2-Datenbank ausgeführt werden, werden einige DB2-Sonderregisterwerte verfolgt und mit der SQL-Anweisung erfasst. Die erfassten Sonderregisterwerte sind die Werte, die allgemein festgelegt sind und die möglicherweise die von der SQL-Anweisung zurückgegebenen Daten beeinflussen, wenn sie geändert werden.

Wenn Sie die in der pureQueryXML-Eingabedatei erfasste Sonderregisteraktivität als Teil der Zusammenfassungsaktivität des Dienstprogramms Configure anzeigen möchten, setzen Sie die Option -showDetails auf 'true'.

Optionsdateien

Eine Optionsdatei listet die pureQueryXML-Datei(en) auf, die das pureQuery-Dienstprogramm Configure verarbeiten soll, sowie die Optionen, die dem Dienstprogramm Configure mitteilen, wie die pureQueryXML-Dateien zu verarbeiten sind. Sie können Standardoptionen definieren, die für alle in einer Optionsdatei aufgeführten pureQueryXML-Dateien gelten. Sie können außerdem Optionen für pureQueryXML-Dateien definieren, sodass Sie die Standardoptionen überschreiben können, und andere Optionen definieren, die nur für einzelne pureQueryXML-Dateien bestimmt sind.

Im Befehl für die Ausführung des Dienstprogramms Configure können Sie die zu verwendende Datei mit der Option -optionsFile angeben.

Eine einfache Optionsdatei für das pureQuery-Dienstprogramm Configure könnte beispielsweise wie folgt aussehen:
defaultOptions = -collection COLL01 -traceFile C:\logs\configure.txt -traceLevel ALL
C:\capture_files\capture_sales.pdqxml = -collection NULLID -rootPkgName SALES
C:\capture_files\capture_employee.pdqxml = -collection COLL02 -rootPkgName EMP
C:\capture_files\capture_orders.pdqxml = -rootPkgName ORDERS
In diesem Beispiel gibt die mit defaultOptions beginnende Zeile die Objektgruppen-ID für die DB2-Pakete an, die erstellt und gebunden werden. Die Zeile gibt außerdem die Datei an, in der Nachrichten protokolliert werden sollen. Die nächsten zwei Zeilen überschreiben die Standardobjektgruppen-ID. Für alle drei pureQueryXML-Dateien gibt die obligatorische Option -rootPkgName den Namen des Stammpakets der DB2-Pakete an.
Sie können außerdem Kommentare in Optionsdateien aufnehmen, indem Sie das Symbol # an den Anfang jeder Kommentarzeile stellen. Wenn dieses Symbol in dem Wert einer der Optionen enthalten sein soll, setzen Sie den Wert in doppelte Anführungszeichen:
-pkgVersion "ver#1"
Wenn Sie das Dienstprogramm Configure über eine Befehlszeile ausführen und eine Optionsdatei verwenden, erkennt pureQuery Optionen in folgender Reihenfolge:
  1. Optionen in der Befehlszeile
  2. Optionen für einzelne Schnittstellen in der angegebenen Optionsdatei
  3. Standardoptionen in der angegebenen Optionsdatei

Syntax für den Befehl zur Ausführung des Dienstprogramms Configure ohne Optionsdatei

Wenn Sie nur eine pureQueryXML-Datei haben, können den Namen der pureQueryXML-Datei und die Optionen für das DB2-Paket mithilfe dieses Befehls angeben.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                                     (1)   
>>-java--com.ibm.pdq.tools.Configure---------------------------->

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+-----------------------------+------------------------------>
   '- -markDDLForBind--+-TRUE--+-'   
                       '-FALSE-'     

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>-- -rootPkgName--Stamm_des_Paketnamens------------------------->

>--+--------------------------------------------------------+--->
   '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-'   
                                 +-READ_ONLY_SCROLLABLE---+     
                                 +-READ_ONLY_FORWARD_ONLY-+     
                                 '-NEVER------------------'     

>--+-----------------------------+------------------------------>
   |                   .-FALSE-. |   
   '- -cleanConfigure--+-TRUE--+-'   

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+------------------------+----------------------------------->
   |             .-100----. |   
   '- -sqlLimit--+-Anzahl-+-'   

>--+--------------------------------------+--------------------->
   '- -removeSQLInactiveForDays----Tage---'   

>--+---------------------------------------+-------------------->
   '- -setPreStatusOfAllPkgs--+-AUTO-----+-'   
                              +-FINAL----+     
                              '-REQUIRED-'     

>--+---------------------------------+-------------------------->
   '- -setPostStatusOfAllPkgs--FINAL-'   

>--+-----------------------------------------+------------------>
   |                               .-FALSE-. |   
   '- -groupSQLBySpecialRegisters--+-TRUE--+-'   

>--+-------------------------------------------------+---------->
   |                      .------------------------. |   
   |                      |    .-|------------.    | |   
   |                      V    V              |    | |   
   '- -groupSQLByStrings----(----Zeichenfolge-+--)-+-'   

>--+--------------------------+--+-----------------------+------>
   |                .-FALSE-. |  |                   (2) |   
   '- -validateXml--+-TRUE--+-'  '-| Traceoptionen |-----'   

>-- -pureQueryXml--pureQueryXML-Datei--+--------+--------------><
                                       '- -help-'   

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Syntax für den Befehl zur Ausführung des Dienstprogramms Configure mit Optionsdatei

Wenn Sie mehrere pureQueryXML-Dateien haben, geben Sie die Namen der pureQueryXML-Dateien und die Optionen für die DB2-Pakete mithilfe dieses Befehl und einer Optionsdatei an. Sie können den Befehl und eine Optionsdatei auch dann verwenden, wenn Sie nur eine pureQueryXML-Datei haben.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-java--com.ibm.pdq.tools.Configure---------------------------->

>-- -optionsFile--Dateiname--+-----------------------+---------><
                             |                   (1) |   
                             '-| Traceoptionen |-----'   

Anmerkungen:
  1. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Syntax zur Angabe von Standardoptionen in einer Optionsdatei für das Dienstprogramm Configure

Dieses Syntaxdiagramm zeigt die Standardoptionen, die Sie für alle pureQueryXML-Dateien festlegen können, die Sie in einer Optionsdatei auflisten.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                     (1)   
>>-defaultOptions--=-------------------------------------------->

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+-----------------------------+------------------------------>
   '- -markDDLForBind--+-TRUE--+-'   
                       '-FALSE-'     

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>--+--------------------------------------------------------+--->
   '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-'   
                                 +-READ_ONLY_SCROLLABLE---+     
                                 +-READ_ONLY_FORWARD_ONLY-+     
                                 '-NEVER------------------'     

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+------------------------+----------------------------------->
   |             .-100----. |   
   '- -sqlLimit--+-Anzahl-+-'   

>--+--------------------------------------+--------------------->
   '- -removeSQLInactiveForDays----Tage---'   

>--+---------------------------------------+-------------------->
   '- -setPreStatusOfAllPkgs--+-AUTO-----+-'   
                              +-FINAL----+     
                              '-REQUIRED-'     

>--+---------------------------------+-------------------------->
   '- -setPostStatusOfAllPkgs--FINAL-'   

>--+-----------------------------------------+------------------>
   |                               .-FALSE-. |   
   '- -groupSQLBySpecialRegisters--+-TRUE--+-'   

>--+-------------------------------------------------+---------->
   |                      .------------------------. |   
   |                      |    .-|------------.    | |   
   |                      V    V              |    | |   
   '- -groupSQLByStrings----(----Zeichenfolge-+--)-+-'   

>--+--------------------------+--+-----------------------+-----><
   |                .-FALSE-. |  |                   (2) |   
   '- -validateXml--+-TRUE--+-'  '-| Traceoptionen |-----'   

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Syntax zur Angabe von Optionen für einzelne pureQueryXML-Dateien in einer Optionsdatei für das Dienstprogramm Configure

Dieses Syntaxdiagramm zeigt die Optionen, die Sie für jede pureQueryXML-Datei festlegen können, die Sie in einer Optionsdatei auflisten.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                         (1)   
>>-pureQueryXML-Datei--=---------------------------------------->

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+-----------------------------+------------------------------>
   '- -markDDLForBind--+-TRUE--+-'   
                       '-FALSE-'     

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>-- -rootPkgName--Stamm_des_Paketnamens------------------------->

>--+--------------------------------------------------------+--->
   '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-'   
                                 +-READ_ONLY_SCROLLABLE---+     
                                 +-READ_ONLY_FORWARD_ONLY-+     
                                 '-NEVER------------------'     

>--+-----------------------------+------------------------------>
   |                   .-FALSE-. |   
   '- -cleanConfigure--+-TRUE--+-'   

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+------------------------+----------------------------------->
   |             .-100----. |   
   '- -sqlLimit--+-Anzahl-+-'   

>--+--------------------------------------+--------------------->
   '- -removeSQLInactiveForDays----Tage---'   

>--+---------------------------------------+-------------------->
   '- -setPreStatusOfAllPkgs--+-AUTO-----+-'   
                              +-FINAL----+     
                              '-REQUIRED-'     

>--+---------------------------------+-------------------------->
   '- -setPostStatusOfAllPkgs--FINAL-'   

>--+-----------------------------------------+------------------>
   |                               .-FALSE-. |   
   '- -groupSQLBySpecialRegisters--+-TRUE--+-'   

>--+-------------------------------------------------+---------->
   |                      .------------------------. |   
   |                      |    .-|------------.    | |   
   |                      V    V              |    | |   
   '- -groupSQLByStrings----(----Zeichenfolge-+--)-+-'   

>--+--------------------------+--------------------------------><
   |                .-FALSE-. |   
   '- -validateXml--+-TRUE--+-'   

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.

Beschreibungen der Optionen

pureQueryXML-Datei = (am Zeilenanfang in einer Optionsdatei)
Gibt den Namen der pureQueryXML-Datei einschließlich ihres absoluten oder relativen Pfads an, für die die Optionen in dieser Zeile der Optionsdatei gelten. Diese Datei muss die Erweiterung .pdqxml oder .xml aufweisen.
Die Optionen, die Sie in dieser Zeile angeben, überschreiben die Optionen, die Sie in der Zeile 'defaultOptions' angeben.
-allowStaticRowsetCursors
Verwenden Sie diese Option, wenn zwischen Anweisungen unterschieden werden soll, die Zeilengruppencursor während der Erfassung verwendet haben und solchen, die Zeilengruppencursor während der statischen Ausführung verwenden. Nachfolgend stehen Beispiele für Situationen, in denen dies zum Tragen kommen könnte:
  • Sie möchten während der statischen Ausführung Zeilengruppencursor verwenden, aber die Erfassung erfolgte mit einer anderen Datenbank als DB2 für z/OS. Die Erfassung könnte beispielsweise unter Verwendung von DB2 für Linux®, UNIX® und Windows® erfolgt sein.
  • In Ihrer Erfassungsumgebung wurden Zeilengruppencursor verwendet, aber Sie möchten während der statischen Ausführung keine Zeilengruppencursor verwenden.
  • Sie möchten während der statischen Ausführung Zeilengruppencursor verwenden. Die Erfassung wurde unter DB2 für z/OS ausgeführt und die statische Ausführung wird unter DB2 für z/OS erfolgen, aber während der statischen Ausführung wird ein anderer Treibertyp verwendet, als bei der Erfassung verwendet wurde. Wenn die Erfassung beispielsweise unter Verwendung eines T4-Treibers von IBM® Data Server Driver für JDBC und SQLJ ausgeführt wurde, aber die statische Ausführung mit einem T2-Treiber von IBM Data Server Driver für JDBC und SQLJ erfolgen wird, sollten Sie eventuell "-allowStaticRowsetCursors READ_ONLY" angeben. Ebenso gilt: Wenn die Erfassung unter Verwendung eines T2-Treibers von IBM Data Server Driver für JDBC und SQLJ ausgeführt wurde, aber die statische Ausführung mit einem T4-Treiber von IBM Data Server Driver für JDBC und SQLJ erfolgen wird, sollten Sie eventuell "-allowStaticRowsetCursors READ_ONLY_SCROLLABLE" angeben.
  • Sie möchten während der statischen Ausführung Zeilengruppencursor verwenden. Ihre Erfassungsdatei wurde mit einer Version von pureQuery vor Version 2.2 erstellt, sodass keine der darin enthaltenen Anweisungen die Markierung zur Verwendung von Zeilengruppencursor aufweist.

Nur DB2 für z/OS verwendet Zeilengruppencursor und auch nur dann, wenn die Eigenschaften von IBM Data Server Driver für JDBC und SQLJ angeben, dass Zeilengruppencursor verwendet werden sollen. Wenn die Erfassung aus einem anderen Datenquellentyp erfolgt oder die Verwendung von Zeilengruppencursor nicht aktiviert wurde, verwendet keine der erfassten Anweisungen Zeilengruppencursor.

Wenn Zeilengruppencursor nicht für Nur-Vorwärtscursor verwendet werden, kann eine Verbindung des Typs 4 intern einen ähnlichen Mechanismus verwenden, um den Datenaustausch im Netz zu minimieren.

Diese Option nimmt einen von vier Werten an:

READ_ONLY
Erlaubt die Verwendung von Zeilengruppencursor durch SELECT-Anweisungen (die Nur-Lese-Cursor öffnen, bei denen es sich entweder um Nur-Vorwärtscursor oder um verschiebbare Cursor handelt), die keine Spalten mit dem Datentyp LOB oder XML auswählen. Zeilengruppencursor dürfen von keinen anderen SELECT-Anweisungen verwendet werden.
Diese Option fügt das Attribut allowStaticRowsetCursors jeder Anweisung SELECT in der pureQueryXML-Datei hinzu, die die Kriterien erfüllt, und setzt den Wert in jedem Fall auf TRUE.
READ_ONLY_SCROLLABLE
Erlaubt die Verwendung von Zeilengruppencursor durch SELECT-Anweisungen, die verschiebbare Nur-Lese-Cursor öffnen und keine Spalten mit dem Datentyp LOB oder XML auswählen. Zeilengruppencursor dürfen von keinen anderen SELECT-Anweisungen verwendet werden.
Diese Option fügt das Attribut allowStaticRowsetCursors jeder Anweisung SELECT in der pureQueryXML-Datei hinzu, die die Kriterien erfüllt, und setzt den Wert in jedem Fall auf TRUE.
READ_ONLY_FORWARD_ONLY
Erlaubt die Verwendung von Zeilengruppencursor durch SELECT-Anweisungen, die Nur-Lese-/Nur-Vorwärtscursor öffnen und keine Spalten mit dem Datentyp LOB oder XML auswählen. Zeilengruppencursor dürfen von keinen anderen SELECT-Anweisungen verwendet werden.
Diese Option fügt das Attribut allowStaticRowsetCursors jeder Anweisung SELECT in der pureQueryXML-Datei hinzu, die die Kriterien erfüllt, und setzt den Wert in jedem Fall auf TRUE.
NEVER
Gibt an, dass keine SELECT-Anweisungen Zeilengruppencursor verwenden dürfen.
Diese Option fügt das Attribut allowStaticRowsetCursors jeder Anweisung SELECT in der pureQueryXML-Datei hinzu und setzt den Wert in jedem Fall auf FALSE. Wenn Sie Zeilengruppencursor für eine Untergruppe dieser SELECT-Anweisungen aktivieren möchten, können Sie dieses Attribut in der Workbench auf TRUE setzen.

Sie müssen diese Option nicht verwenden, wenn eine der folgenden Bedingungen vorliegt:

  • IBM Data Server Driver für JDBC und SQLJ wird so definiert, dass FETCH-Mehrfachzeilenabruf für verschiebbare Cursor verwendet wird. Sie haben die SELECT-Anweisungen erfasst, indem diese auf einem DB2 für z/OS-Datenserver unter Verwendung einer T4-Verbindung ausgeführt wurden. Sie möchten die Anweisungen statisch auf demselben Datenserver oder einem kompatiblen Datenserver unter Verwendung einer T4-Verbindung ausführen.
  • IBM Data Server Driver für JDBC und SQLJ wird so definiert, dass FETCH-Mehrfachzeilenabruf für Nur-Vorwärtscursor und verschiebbare Cursor verwendet wird. Sie haben die SELECT-Anweisungen erfasst, indem diese auf einem DB2 für z/OS-Datenserver unter Verwendung einer T2-Verbindung ausgeführt wurden. Sie möchten die Anweisungen statisch auf demselben Datenserver oder einem kompatiblen Datenserver unter Verwendung einer T2-Verbindung ausführen.
Die SQL-Anweisungen, denen die Verwendung von Zeilengruppencursor erlaubt werden soll, wenn pureQuery diese Anweisungen statisch ausführt, müssen die folgenden Bedingungen erfüllen:
  • Bei den erfassten Anweisungen handelt es sich um SELECT-Anweisungen.
  • Keine dieser SELECT-Anweisungen wird von einer gespeicherten Prozedur ausgeführt.
  • Keine der Spalten in Abfrageergebnissen hat den Datentyp LOB oder XML.
  • Die von den Anweisungen geöffneten Cursor sind schreibgeschützt. Wenn ein statischer Aktualisierungscursor Zeilengruppen verwendet, sind die Ergebnisse unvorhersehbar.

    pureQuery betrachtet eine Anweisung als aktualisierbar, wenn eine der folgenden Bedingungen vorliegt:

    • Das Attribut für gemeinsamen Zugriff ist auf java.sql.ResultSet.CONCUR_UPDATABLE gesetzt.
    • Die SQL-Anweisung enthält die Klausel FOR UPDATE.
    pureQuery betrachtet eine Anweisung als schreibgeschützt, wenn die Anweisung nicht aktualisierbar ist.

Wenn Sie Anweisungen statisch auf einer Datenquelle ausführen, die Zeilengruppencursor nicht unterstützt, versucht pureQuery nicht, einen Zeilengruppencursor für Anweisungen zu verwenden, für die Sie die Verwendung eines Zeilengruppencursors angegeben haben.

Wenn Sie diese Option nicht angeben, verwendet pureQuery standardmäßig Zeilengruppencursor für Anweisungen, für die IBM Data Server Driver für JDBC und SQLJ Zeilengruppencursor verwendet hat, als die Anweisungen erfasst wurden.

-cleanConfigure TRUE | FALSE
Gibt an, in welchem Umfang das Dienstprogramm Configure eine pureQueryXML-Datei verarbeiten soll.
TRUE
Das Dienstprogramm Configure setzt in allen Anweisungsgruppen den Wert von configureStatus auf AUTO. Überschreibt den configureStatus-Wert FINAL der Anweisungsgruppe.

Während der Verarbeitung werden alle SQL-Anweisungen entsprechend der angegebenen Optionen, wie z. B. sqlLimit, groupSQLByString und groupSQLBySpecialRegister, in Anweisungsgruppen zusammengefasst. Die Anweisungsgruppen in der Ausgabedatei können sich von den Anweisungsgruppen in der Eingabedatei unterscheiden.

Sie müssen einen Wert für die Option -rootPkgName angeben.

FALSE
Bewirkt, dass das Dienstprogramm Configure die Namen und Objektgruppen-IDs von Anweisungsgruppen in einer pureQueryXML-Datei definiert. Dies betrifft Anweisungsgruppen, für die die Markierung configureStatus auf REQUIRED oder AUTO gesetzt ist, und solche, die keinen Namen haben. Das Dienstprogramm Configure ändert nur dann Anweisungsgruppen, für die die Markierung configureStatus auf AUTO gesetzt ist, wenn es feststellt, dass die Anweisungsgruppe geändert werden muss.

Dies ist der Standardwert. Sie müssen einen Wert für die Option -rootPkgName angeben.

Für nicht benannte Anweisungsgruppen wendet die Konfiguration alle angegebenen Optionen an.

Bei benannten Anweisungsgruppen, für die configureStatus auf REQUIRED gesetzt ist, werden einige Optionen angewendet, wie z. B. -collection, -pkgVersion , -forceSingleBindIsolation und -markDDLForBind. Das Konsistenztoken wird aktualisiert.

Bei benannten Anweisungsgruppen, für die die Markierung configureStatus auf AUTO gesetzt ist, gelten die Konfigurationsoptionen nur, wenn das Dienstprogramm Configure feststellt, dass die Anweisungsgruppe geändert werden muss. Das Konsistenztoken wird nicht aktualisiert, wenn die Anweisungsgruppe nicht geändert wird.

Bei benannten Anweisungsgruppen, für die die Markierung configureStatus auf FINAL gesetzt ist, zeigt das Dienstprogramm Configure Fehler an, wenn Probleme mit der Anweisungsgruppe gefunden werden. Zu Fehlern gehören Abschnittsnummern, die nicht in aufsteigender Folge vorkommen, und Positionsaktualisierungsanweisungen, die zu keiner Anweisung SELECT gehören. Das Dienstprogramm Configure zeigt Warnungen an, wenn Anweisungen aus einer Anweisungsgruppe entfernt werden müssen. Zum Beispiel muss eine Anweisung möglicherweise aus einer Anweisungsgruppe entfernt werden, wenn die Option -removeSQLInactiveForDays angegeben ist, und die Zeitmarke für die Anweisung den Kriterien für das Entfernen entspricht. Eine Anweisung wird möglicherweise in eine andere Anweisungsgruppe verschoben, wenn sich die zur Anwendung gehörigen Sonderregisterwerte ändern.

-collection Objektgruppenname
Das Qualifikationsmerkmal für die Pakete, die das pureQuery-Dienstprogramm StaticBinder bindet. Das Qualifikationsmerkmal muss die Integritätsbedingungen für Objektgruppennamen für die von Ihnen verwendete DB2-Datenbank erfüllen.
Wenn Sie diesen Parameter nicht angeben, nimmt er standardmäßig den Wert NULLID an.
-forceSingleBindIsolation TRUE | FALSE
Gibt an, ob Sie vorhaben, ein DB2-Paket für nur eine einzige Isolationsstufe zu erstellen, und dass daher zum Angeben der Isolationsstufe keine Nummer an den Namen des Pakets angehängt werden soll. Der Standardwert ist FALSE, d. h., dass eine Nummer angehängt wird.
Verwenden Sie diese Option zusammen mit der Option -isolationLevel des Dienstprogramms StaticBinder.

Wenn Sie eine einzelne Anweisungsgruppe mithilfe der Option -isolationLevel in zwei oder drei verschiedene Pakete binden wollen, von denen jedes eine andere Isolationsstufe aufweist, dürfen Sie die Option -forceSingleBindIsolation nicht angeben, wenn Sie das Konfigurationsdienstprogramm für die pureQueryXML-Datei ausführen, die die Anweisungsgruppe enthält.

Nehmen wir beispielsweise an, dass Sie die folgenden beiden Einträge in eine Optionsdatei für das Dienstprogramm StaticBinder aufgenommen haben:

C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel UR
C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel CS

Wenn Sie für die Ausführung des Konfigurationsdienstprogramms für die Datei captureFile.pdqxml die Option -forceSingleBindIsolation verwendet haben, führt das Dienstprogramm StaticBinder Folgendes aus:

  1. Binden des Pakets MYPKGA mit der Isolationsstufe UR.
  2. Erneutes Binden des Pakets MYPKGA mit der Isolationsstufe CS.

Das Ergebnis ist ein einzelnes Paket MYPKGA, das mit der Isolationsstufe CS gebunden ist.

Wenn Sie als Ergebnis zwei Pakete MYPKGA wollen, von denen das eine die Isolationsstufe UR und das andere die Isolationsstufe CS aufweist, dürfen Sie die Option -forceSingleBindIsolation nicht angeben, wenn Sie das Konfigurationsdienstprogramm für die Datei captureFile.pdqxml ausführen.

-markDDLForBind
Gibt den Wert an, den das Dienstprogramm Configure für die isBindable-Attribute für alle DDL-Anweisungen in einer pureQueryXML-Datei festlegt. Das Dienstprogramm Configure legt diesen Wert auch für das Attribut isBindable für Anweisungsgruppen fest, die nur DDL-Anweisungen enthalten.

Gültige Werte sind die Zeichenfolgen TRUE und FALSE, bei denen die Groß-/Kleinschreibung nicht beachtet werden muss. Es gibt keinen Standardwert.

TRUE
Wenn isBindable den Wert TRUE hat, wird die entsprechende DDL-Anweisung bzw. DDL-Anweisungsgruppe gebunden, wenn das Dienstprogramm StaticBinder die pureQueryXML-Datei verarbeitet.
FALSE
Wenn isBindable den Wert FALSE hat, wird die entsprechende DDL-Anweisung bzw. DDL-Anweisungsgruppe nicht gebunden, wenn das Dienstprogramm StaticBinder die pureQueryXML-Datei verarbeitet.

Wenn Sie diese Option nicht angeben, überprüft das Dienstprogramm Configure, ob isBindable für eine der DDL-Anweisungen, die sich in nicht benannten Anweisungsgruppen in der pureQueryXML-Datei befinden, den Wert TRUE hat. Weist isBindable für mindestens eine dieser DDL-Anweisungen den Wert TRUE auf, wenn das Dienstprogramm Configure die DDL-Anweisungen zu einer einzelnen benannten DDL-Anweisungsgruppe kombiniert, setzt das Dienstprogramm das Attribut isBindable für die DDL-Anweisungsgruppe auf TRUE.

Wenn das Dienstprogramm StaticBinder den Wert TRUE für das Attribut isBindable der DDL-Anweisungsgruppe findet, versucht es alle Anweisungen in dieser Anweisungsgruppe zu binden, deren Attribut isBindable den Wert TRUE hat.

-optionsFile Dateiname
Der Name der Datei, einschließlich ihres absoluten oder relativen Pfads, in der die pureQueryXML-Dateien aufgelistet werden, die Sie mit Metadaten für das pureQuery-Dienstprogramm StaticBinder modifizieren wollen.
-pkgVersion AUTO|Versions-ID
Gibt die Paketversion an, die beim Binden von Paketen verwendet werden soll.

Für DB2 ist es zulässig, dass mehrere Versionen eines Pakets gleichzeitig vorhanden sind. Somit können Sie neue Pakete binden, ohne ältere Versionen von Paketen mit demselben Namen ersetzen zu müssen. Wenn bei neuen Paketen Probleme auftreten, können Sie eine ältere Version dieses Pakets verwenden.

Wenn Sie diese Option nicht angeben, werden Datenbankpakete, die aus nachfolgenden Bindevorgängen resultieren, ohne eine Version erstellt.

AUTO
Gibt an, dass die Version unter Verwendung der aktuellen Zeitmarke automatisch generiert wird.
Versions-ID
Gibt die Versions-ID für ein Paket an. Die Zeichenfolge muss für die von Ihnen verwendete Version von DB2 gültig sein.
Das Dienstprogramm Configure erstellt eine Kopie der pureQueryXML-Datei und hängt die Versions-ID an den Namen der Datei an. Aus diesem Grund darf die Versions-ID nur Zeichen enthalten, die für Dateinamen unter Ihrem Betriebssystem gültig sind. Außerdem darf die Länge der Zeichenfolge und des Namens des Pakets die von Ihrem Betriebssystem unterstützte maximal zulässige Länge für Dateinamen nicht überschreiten.

Die Prüfung der Version während der Laufzeit basiert auf dem Konsistenztoken, nicht auf dem Versionsnamen.

-pureQueryXml pureQueryXML-Datei
Der Name der pureQueryXML-Datei. Diese Datei muss die Erweiterung .pdqxml oder .xml aufweisen. Entweder muss die Datei eine Ressource im Klassenpfad für Ihre Anwendung sein oder Sie müssen den vollständigen oder relativen Pfad zu der Datei angeben.
-rootPkgName Stamm_des_Paketnamens
Gibt den Stamm des Namens an, der für DB2-Pakete verwendet werden soll. Eine vollständige Beschreibung dazu, wie das Dienstprogramm Configure die Namen von DB2-Paketen erstellt, finden Sie in der Beschreibung von sqlLimit.

Stamm_des_Paketnamens muss den Integritätsbedingungen entsprechen, die von der von Ihnen verwendeten DB2-Datenbank festgelegt werden.

Wenn Sie vorhaben, mit dem pureQuery-Dienstprogramm StaticBinder DBRM-Dateien zu generieren anstatt DB2-Pakete zu erstellen, muss Stamm_des_Paketnamens in Großbuchstaben geschrieben sein und darf nicht länger als 6 Zeichen sein. Das Dienstprogramm Configure fügt Zeichen zu dem Stamm des Namens hinzu, wenn entweder die pureQueryXml-Datei DDL-Anweisungen enthält oder die Anzahl der Anweisungen pro Paket (angegeben mit sqlLimit) erreicht ist. Wenn Sie mit dem Dienstprogramm StaticBinder eine DBRM-Datei generieren und die Kombination aus Stamm_des_Paketnamens, den zusätzlichen Zeichen wegen der Aktivität des Dienstprogramms Configure und der Isolationsstufe länger als 8 Zeichen ist, gibt das Dienstprogramm StaticBinder eine Ausnahmebedingung aus.

-showDetails true|false
Gibt an, ob das Dienstprogramm Configure eine Zusammenfassung seiner Aktivität anzeigt. Der Standardwert ist 'false'.

Ist der Wert auf 'true' gesetzt, zeigt das Dienstprogramm Configure die in der pureQueryXML-Eingabedatei erfasste Sonderregisteraktivität als Teil der Zusammenfassungsaktivität an.

-sqlLimit Anzahl
Gibt die maximal zulässige Anzahl SQL-Anweisungen im DB2-Paket an. Wenn die Anzahl SQL-Anweisungen diesen Grenzwert überschreitet, erstellt das pureQuery-Dienstprogramm StaticBinder im Regelfall ein weiteres Paket, das die überschüssigen Anweisungen enthält. In manchen Fällen nimmt das Dienstprogramm StaticBinder geringfügig mehr SQL-Anweisungen in ein Paket auf.

Der Standardwert ist 100.

Angenommen, Sie möchten vier Pakete (jeweils ein Paket für die vier Isolationsstufen) mit einem Stammnamen myPackage erstellen und Ihre Datenbank unterstützt lange Paketnamen. Wenn die von Ihnen verwendete pureQueryXML-Datei zwischen 101 und 199 Anweisungen enthält und Sie den Standardwert für sqlLimit verwenden, generiert die Bindeoperation die folgenden Pakete:
Tabelle 1. Pakettabelle
  Paket mit ersten 100 SQL-Anweisungen Paket mit den nächsten n SQL-Anweisungen, wobei 100 < n < 200
Isolationsstufe CS myPackageA1 myPackageB1
Isolationsstufe RR myPackageA2 myPackageB2
Isolationsstufe RS myPackageA3 myPackageB3
Isolationsstufe UR myPackageA4 myPackageB4

Die Zahlen geben die Isolationsstufe der Pakete an, während die Buchstaben die Anzahl der Pakete angeben, die aufgrund des Werts von sqlLimit und der Anzahl Anweisungen in der pureQueryXML-Datei erstellt werden. Die Buchstaben folgen der Reihenfolge des Alphabets. Wenn der Buchstabe Z erreicht ist und weitere Pakete erstellt werden müssen, werden zusätzliche Buchstaben angehängt: AA, AB, AC, usw. Wenn die Namen zu lang für Ihre Datenbank werden, müssen Sie die Länge Ihres Stammpaketnamens reduzieren oder den Wert für sqlLimit erhöhen. Sie können auch die Option -forceSingleBindIsolation verwenden, um die Zahl zu entfernen, die die Isolationsstufe angibt, wenn Sie vorhaben, ein Paket für eine einzelne Isolationsstufe zu erstellen.

Es gibt Situationen, in denen das Dienstprogramm Configure beim Erstellen von Anweisungsgruppen, die DB2-Pakete darstellen, den Grenzwert der SQL-Anweisung überschreitet. Alle SQL-Anweisungen, die einen Cursor manipulieren, müssen sich im selben Paket befinden wie die Anweisung DECLARE CURSOR für diesen Cursor. Beispiel: Wenn eine Anwendung 15 verschiedene UPDATE-Anweisungen ausführt, die auf denselben Cursor verweisen, müssen sich alle 15 Anweisungen in dem DB2-Paket befinden, in dem sich die Anweisung DECLARE CURSOR für diesen Cursor befindet.

Damit Sie die optimale Leistung Ihrer Anwendung erreichen, dürfen Sie für sqlLimit keinen Wert größer als 400 festlegen.

Traceoptionen
Sie können die Datei, in der Nachrichten protokolliert werden sollen, und die zu protokollierende Informationsebene angeben.
Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-+------------------------+--+---------------------------+---><
   '- -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.
-removeSQLInactiveForDays Tage
Gibt die Anzahl Tage an, nach denen eine nicht verwendete SQL-Anweisung entfernt wird. Als Ausgangsbasis dient die Zeitmarke der letzten Verwendung der Anweisung. Wenn für die Variable Tage 0 angegeben ist, werden alle SQL-Anweisungen in die Ausgabedatei geschrieben. Standardmäßig werden alle SQL-Anweisungen in die Ausgabedatei geschrieben. Ist für den Wert Tage eine positive Zahl angegeben, schreibt das Dienstprogramm Configure SQL-Anweisungen nicht in die Ausgabedatei, wenn die Zeitmarke der letzten Verwendung der Anweisung der Anzahl Tage vor dem aktuellen Datum oder früher entspricht. Ist für die Variable Tage 1 angegeben, werden die SQL-Anweisungen nicht geschrieben, wenn die Zeitmarke den vorherigen Tag oder einen früheren Tag angibt.

Ist für die Variable Tage beispielsweise 5 gesetzt und 25.11. (25. November) ist das aktuelle Datum, werden SQL-Anweisungen mit der Zeitmarke 20.11. (20. November) oder einer älteren Zeitmarke nicht geschrieben.

Hat die SQL-Anweisung keine Zeitmarke, wird die SQL-Anweisung in die Ausgabedatei geschrieben. Wenn z. B. eine pureQueryXML-Datei einer früheren Version die Eingabedatei ist, hat eine SQL-Anweisung keine Zeitmarke. Für frühere Versionen einer pureQueryXML-Datei, Version 3 oder älter, wird die Option ignoriert, alle SQL-Anweisungen werden in die Ausgabedatei geschrieben und es wird eine Nachricht angezeigt.

Für die Nachrichten, die nicht in die pureQueryXML-Ausgabedatei geschrieben werden, wird eine Nachricht in die Protokolldatei geschrieben. Ist die Option showDetails auf true gesetzt, werden alle Anweisungen angezeigt, die nicht in die Ausgabedatei geschrieben wurden.

-setPreStatusOfAllPkgs AUTO|FINAL|REQUIRED
Gibt einen Paketstatus an. Das Dienstprogramm Configure setzt alle Pakete vor ihrer Verarbeitung auf den angegebenen Status. Der Wert kann auf AUTO, FINAL oder REQUIRED gesetzt werden.
Ist die Option -cleanConfigure auf 'FALSE' gesetzt oder nicht angegeben, wird die folgende Verarbeitung ausgeführt, wenn ein Wert -setPreStatusOfAllPkgs angegeben ist:
  • AUTO: Nicht benannte Pakete werden wie gewöhnlich konfiguriert. Benannte Pakte werden geprüft und nur erforderlichenfalls konfiguriert.
  • FINAL: Setzt den Status aller benannten Pakete auf FINAL. Der Status von nicht benannten Paketen wird ignoriert, das Paket wird geprüft und konfiguriert.
  • REQUIRED: Dies ist der Standardwert für nicht benannte Pakete. Für benannte Pakete wird eine Konfiguration ausgeführt und alle neuen Optionswerte, die für die Optionen -collection, -forceSingleBindIsolation, -markDDLForBind, pkgVersion und -allowStaticRowsetCursors angegeben sind, werden auf die benannten Pakte angewendet.

Ist die Option -cleanConfigure auf 'TRUE' gesetzt, wird die Option -setPreStatusOfAllPkgs ignoriert. Es wird keine Nachricht protokolliert.

-setPostStatusOfAllPkgs FINAL
Gibt den Wert an, auf den das Dienstprogramm Configure nach der Verarbeitung den Status aller Pakete in der pureQueryXML-Ausgabedatei setzt. Wenn der Wert der Option -setPreStatusOfAllPkgs auf FINAL gesetzt ist, gilt Folgendes:
  • Ist die Option -cleanConfigure auf 'FALSE' gesetzt oder nicht angegeben, werden alle nicht benannten Pakete konfiguriert, alle benannten Pakete werden geprüft und erforderlichenfalls konfiguriert und der Status aller Pakete wird auf FINAL gesetzt.
  • Ist die Option -cleanConfigure auf 'TRUE' gesetzt, werden alle Pakete konfiguriert und der Status aller Pakete wird auf FINAL gesetzt.
-groupSQLBySpecialRegisters TRUE|FALSE
Gibt an, ob die SQL-Anweisungen auf der Basis der aufgezeichneten und der Anweisung zugeordneten Sonderregister in Anweisungsgruppen gruppiert werden. Der Standardwert ist 'FALSE', bei dem die SQL-Anweisungen nicht nach aufgezeichneten Sonderregisterwerten gruppiert werden. Ist als Wert 'TRUE' angegeben, werden SQL-Anweisungen in Anweisungsgruppen zusammengefasst. Jede SQL-Anweisung innerhalb einer Anweisungsgruppe hat zum Zeitpunkt der SQL-Erfassung dieselben aufgezeichneten Sonderregisterwerte. Bei der Erstellung der auf den Sonderregistern basierenden Anweisungsgruppen werden die folgenden Regeln angewendet:
  • SQL-Anweisungen mit einer Gruppe aufgezeichneter Sonderregisterwerte werden in Anweisungsgruppen zusammengefasst. Für jede Gruppe aufgezeichneter Sonderregisterwerte wird eine Anweisungsgruppe erstellt.
  • SQL-Anweisungen ohne aufgezeichnete Sonderregisterinformationen werden in einer eigenen Anweisungsgruppe zusammengefasst.
  • SQL-Anweisungen, denen mehrere aufgezeichnete Sonderregisterwerte zugeordnet sind, werden in einer eigenen Anweisungsgruppe zusammengefasst. Eine SQL-Anweisung kann mehreren Gruppen mit erfassten Sonderregisterwerten zugeordnet sein, wenn die SQL-Anweisung mehrmals von der Anwendung abgesetzt wurde und sich die Sonderregisterinformationen zwischen den Erfassungen der SQL-Anweisung geändert haben.

Werden die Option groupSQLBySpecialRegisters und die Option groupSQLByStrings zum Erstellen von Anweisungsgruppen verwendet, werden die Anweisungen zuerst nach Sonderregisterwerten gruppiert. Für jede auf Sonderregistern basierende Gruppe werden die SQL-Anweisungen auf der Basis der über die Option -groupSQLByStrings angegebenen Werte gruppiert. Nachdem die Gruppierung abgeschlossen ist, wird die Gruppierung auf der Basis von -sqlLimit ausgeführt, falls es erforderlich ist. Nachdem die Anweisungsgruppen erstellt wurden, werden sie benannt.

-groupSQLByStrings (Zeichenfolge1|Zeichenfolge2|...)...(ZeichenfolgeN|ZeichenfolgeM|...)
Gibt die Gruppierung von SQL-Anweisungen auf der Basis eines Unterzeichenfolgenabgleichs an, für den die in der Option angegebenen Zeichenfolgen verwendet werden. Ist diese Option nicht angegeben, wird die Standardgruppierung ausgeführt.

Die jeweils in einem Satz runde Klammern eingeschlossenen Zeichenfolgen werden verwendet, um nach SQL-Anweisungen zu suchen und diese in einer Anweisungsgruppe zusammenzufassen. Es können auch mehrere Zeichenfolgen verwendet werden, um eine SQL-Anweisung einer Anweisungsgruppe zuzuordnen. In diesem Fall müssen die Zeichenfolgen mit einem vertikalen Balken ( | ) voneinander getrennt werden. Wenn eine Zeichenfolge mehrmals vorhanden ist oder wenn es sich bei einer Zeichenfolge um die Unterzeichenfolge einer anderen Zeichenfolge handelt, wird eine Warnung protokolliert.

Eine SQL-Anweisung wird einer Anweisungsgruppe zugeordnet, wenn die Anweisung die Zeichenfolge enthält. Werden mehrere Zeichenfolgen verwendet, um eine Anweisungsgruppe zu erstellen, wird eine SQL-Anweisung der Anweisungsgruppe zugeordnet, wenn sie eine der angegebenen Zeichenfolgen enthält.

Beim Erstellen der Anweisung für die Anweisungsgruppe werden die Gruppen in der Reihenfolge erstellt, die in der Option groupSQLByStrings aufgelistet ist. Auch die Suche nach übereinstimmenden Anweisungen wird in der in der Option angegebenen Reihenfolge ausgeführt. Wenn z. B. die Option den Wert (Table1) (Table2 | Table3) angibt, erstellt das Dienstprogramm Configuation die folgenden Anweisungsgruppen für eine pureQueryXML-Datei:
  • SQL-Anweisungen, die die Zeichenfolge Table1 enthalten, werden einer Anweisungsgruppe zugeordnet.
  • SQL-Anweisungen, die entweder die Zeichenfolge Table2 oder die Zeichenfolge Table3 enthalten, werden der zweiten Anweisungsgruppe zugeordnet.
  • SQL-Anweisungen, die keine der angegebenen Zeichenfolgen enthalten, werden einer dritten Anweisungsgruppe zugeordnet.

Werden die Option groupSQLBySpecialRegisters und die Option groupSQLByStrings zum Erstellen von Anweisungsgruppen verwendet, werden die Anweisungen zuerst nach Sonderregisterwerten gruppiert. Innerhalb jeder Gruppe, die Sonderregister verwendet, werden die SQL-Anweisungen auf der Basis der über die Option -groupSQLByStrings angegebenen Werte gruppiert. Nachdem die Gruppierung abgeschlossen ist, wird erforderlichenfalls -sqlLimit angewendet und die erstellten Anweisungsgruppen werden benannt.

Wenn die pureQueryXML-Datei eine Kombination aus benannten und nicht benannten Paketen enthält und die Option -cleanConfigure auf 'FALSE' gesetzt ist, werden nur die nicht benannten Pakete gruppiert. Die Gruppierung der benannten Pakete wird nicht geändert. Ist die Option -cleanConfigure auf 'TRUE' gesetzt, werden die SQL-Anweisungen in allen benannten und nicht benannten Paketen gruppiert.

-validateXml TRUE|FALSE
Gibt an, ob für die pureQueryXML-Eingabedateien eine XML-Schemaprüfung unter Verwendung des pureQueryXML-Schemas ausgeführt wird. Bei Angabe von 'TRUE' wird die Prüfung ausgeführt. Bei Angabe von 'FALSE' oder wenn die Option nicht angegeben ist, wird keine Prüfung ausgeführt. Der Standardwert ist FALSE.

Die erfolgreiche oder fehlgeschlagene XML-Schemaprüfung wird für jede Eingabedatei ermittelt und dokumentiert. Schlägt eine Eingabedatei fehl, wird die Konfigurationsverarbeitung nicht gestoppt und die nachfolgenden Dateien werden verarbeitet.

Schlägt die Schemaprüfung einer pureQueryXML-Datei fehl, wird die Konfigurationsaktion für die betreffende Datei nicht fortgesetzt. Der erste Fehler in der Schemaprüfung und die fehlgeschlagene Konfiguration werden für die Datei dokumentiert.

Es werden nur pureQueryXML-Dateien des aktuellen Release oder der vorangegangenen Version (Version 4 oder 3) geprüft. Wird eine pureQueryXML-Datei einer früheren Version erkannt, wird für diese Datei keine Prüfung ausgeführt.

Gültigkeitsfehler werden als Teil der Ausgabe des Dienstprogramms Configure ausgegeben.

-help
Zeigt Übersichtsdaten zur Verwendung an.
Nicht gültig in einer Optionsdatei.

Beispiel für die erstmalige Ausführung des Dienstprogramms Configure für zwei Dateien

Angenommen Sie haben zwei pureQueryXML-Dateien, eine für jede Verbindung, die Ihr Nicht-pureQuery-API-Anwendung herstellt. Die Namen der Dateien lauten capture_sales.pdqxml (enthält 450 SQL-Anweisungen) und capture_employee.pdqxml (enthält ebenfalls 450 SQL-Anweisungen, von denen 50 DDL-Anweisungen sind).

Für diese Dateien wollen Sie dem Dienstprogramm Configure die folgenden Werte zur Verfügung stellen, wenn Sie das Dienstprogramm für diese Dateien zum ersten Mal ausführen:

Tabelle 2. Beispielwerte für das Dienstprogramm Configure
Optionen für das Dienstprogramm Configure capture_sales.pdqxml capture_employee.pdqxml
-collection first second
-markDDLForBind FALSE FALSE
-pkgVersion 1.0 1.0
-rootPkgName PK001S PK005E
-sqlLimit 200 200
In diesem Fall haben Sie zwei Möglichkeiten, das Dienstprogramm Configure auszuführen.
  • Das Dienstprogramm Configure zweimal ausführen und jedes Mal eine andere pdqxml-Datei angeben:
    java com.ibm.pdq.tool.Configure -collection first -pkgVersion 1.0 -rootPkgName PK001S \
    -sqlLimit 200 -pureQueryXml C:\capture_files\capture_sales.pdqxml
    java com.ibm.pdq.tool.Configure -collection second -pkgVersion 1.0 -rootPkgName PK005E \
    -sqlLimit 200 -pureQueryXml C:\capture_files\capture_employee.pdqxml
  • Das Dienstprogramm Configure einmal ausführen und eine Optionsdatei angeben, in der die pdqxml-Dateien aufgelistet sind.

    Der Befehl könnte wie folgt aussehen:

    java com.ibm.pdq.tool.Configure -optionsFile myOptionsFile.txt

    Die Optionsdatei, die einen beliebigen Namen und eine beliebige Erweiterung haben kann, die Ihr Betriebssystem unterstützt, enthält die folgenden Einträge:

    defaultOptions = -pkgVersion 1.0 -sqlLimit 200
    
    C:\capture_files\capture_sales.pdqxml = -collection first -rootPkgName PK001S
    
    C:\capture_files\capture_employee.pdqxml = -collection second -rootPkgName PK005E
Unabhängig von der verwendeten Methode aktualisiert das Dienstprogramm Configure die beiden pdqxml-Dateien mit den Werten, die Sie für die verschiedenen Optionen angegeben haben. Das Dienstprogramm Configure generiert außerdem die folgenden Dateien:
Auf capture_sales.pdqxml basierende Dateien
capture_sales.pdqxml.org

capture_sales.pdqxml_1.0

Auf capture_employee.pdqxml basierende Dateien
capture_employee.pdqxml.org

capture_employee.pdqxml_1.0

capture_employee.ddl

Beispiele für das Erstellen von Anweisungsgruppen mit der Option groupSQLByStrings

In den folgenden Beispielen wird vorausgesetzt, dass die pureQueryXML-Datei die folgenden drei SQL-Anweisungen enthält:
SELECT * FROM TABLE3
SELECT * FROM TABLE2
SELECT * FROM TABLE1
Hat die Option groupSQLByStrings den Wert (TABLE3) (TABLE2) (TABLE1), werden die Anweisungen den folgenden Anweisungsgruppen zugeordnet:
Anweisungsgruppe 1: 
    SELECT * FROM TABLE3
Anweisungsgruppe 2: 
    SELECT * FROM TABLE2
Anweisungsgruppe 3: 
    SELECT * FROM TABLE1
Ist der Wert (TABLE1) (TABLE3|TABLE2), werden die Anweisungen den folgenden Anweisungsgruppen zugeordnet:
Anweisungsgruppe 1: 
    SELECT * FROM TABLE1
Anweisungsgruppe 2: 
    SELECT * FROM TABLE2
    SELECT * FROM TABLE3
Ist der Wert (TABLE1|TABLE2) (TABLE3|TABLE2), werden die Anweisungen den folgenden Anweisungsgruppen zugeordnet:
Anweisungsgruppe 1: 
    SELECT * FROM TABLE1, 
    SELECT * FROM TABLE2
Anweisungsgruppe 2: 
    SELECT * FROM TABLE3
Anmerkung:

Es wird nicht empfohlen, denselben Tabellennamen in mehreren Anweisungsgruppendefinitionen zu verwenden. In diesem Fall wird ein Warnhinweis protokolliert.


Feedback