Configure (Dienstprogramm)

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. Zu den Merkmalen, die Sie setzen können, zählen die Objektgruppe, die Version und der Stammpaketname der DB2-Pakete. Darüber hinaus können Sie die maximale Anzahl der SQL-Anweisungen definieren, die in einem Paket gruppiert werden sollen. 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 DB2-Paketen zu binden, liest das Dienstprogramm StaticBinder diese Merkmale. Bei der statischen Ausführung von SQL-Anweisungen verwendet pureQuery Runtime außerdem in der Datei enthaltene Informationen wie die Objektgruppen-ID, Paket-ID, Versions-ID und Abschnittsnummer.

Anmerkung: Die durch die Option -pureQueryXml angegebene pureQueryXML-Datei darf nicht auf eine der folgenden Weisen erstellt worden sein:
  • Bei der Erstellung der Datei für die Erfassung zusätzlicher SQL-Anweisungen waren die pureQuery Runtime-Eigenschaften outputPureQueryXml und pureQueryXml angegeben. Wenn beide Eigenschaften angegeben werden, enthält die durch die Eigenschaft outputPureQueryXml angegebene pureQueryXML-Datei erfasste SQL-Anweisungen, die in der über die Eigenschaft pureQueryXml angegebenen pureQueryXML-Datei nicht enthalten sind. Vor dem Konfigurieren müssen Sie mehrere 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 mehrere 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.

Optionsdateien des Dienstprogramms Configure

Eine Optionsdatei des Dienstprogramms Configure 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
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 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 pureQueryXML-Dateien 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-+--)-+-'   

>--+-------------------------------------------------------------+-->
   '- -optionsFileForBind--+-Bindeoptionsdatei-----------------+-'   
                           '-DEFAULT_IN_PUREQUERYXML_DIRECTORY-'     

>--+--------------------------+--+-----------------------+------>
   |                .-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-+--)-+-'   

>--+-------------------------------------------------------------+-->
   '- -optionsFileForBind--+-Bindeoptionsdatei-----------------+-'   
                           '-DEFAULT_IN_PUREQUERYXML_DIRECTORY-'     

>--+--------------------------+--+-----------------------+-----><
   |                .-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 defaultOptions-Zeile 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.

Zeilengruppencursor werden nur von DB2 für z/OS unterstützt. Zeilengruppencursor werden nur verwendet, 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
Während der Verarbeitung werden alle SQL-Anweisungen entsprechend der angegebenen Optionen, wie z. B. sqlLimit, groupSQLByString und groupSQLBySpecialRegister, in Anweisungsgruppen zusammengefasst. Das Dienstprogramm Configure fasst SQL-Anweisungen nach Bedarf in Anweisungsgruppen zusammen.

Das Dienstprogramm Configure setzt während des Konfigurationsprozesses in allen Anweisungsgruppen den Wert von configureStatus auf AUTO. Überschreibt den configureStatus-Wert FINAL der Anweisungsgruppe.

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.

FALSE ist der Standardwert.

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

Bei benannten Anweisungsgruppen, für die der Wert für configureStatus auf REQUIRED gesetzt ist, werden einige Optionen angewendet. Zu diesen angewendeten Optionen zählen die Optionen -collection, -pkgVersion, -forceSingleBindIsolation und -markDDLForBind. Das Konsistenztoken wird aktualisiert. Wenn Sie SQL-Anweisungen in der Anweisungsgruppe statisch ausführen, müssen Sie das Paket, das von der Anweisungsgruppe erstellt wird, erneut binden.

Das Dienstprogramm Configure ändert während des Konfigurationsprozesses den Wert von configureStatus von REQUIRED in AUTO.

Bei benannten Anweisungsgruppen, deren Wert für configureStatus auf AUTO gesetzt ist, wendet das Dienstprogramm Configure nur dann Optionen an, wenn es feststellt, dass die Anweisungsgruppe modifiziert werden muss. Das Konsistenztoken wird nicht aktualisiert, wenn die Anweisungsgruppe nicht geändert wird. Wenn die Markierung configureStatus auf AUTO gesetzt und die Option -pkgVersion angegeben ist, aktualisiert das Dienstprogramm die Anweisungsgruppe unter Verwendung der Versions-ID. Wenn Sie SQL-Anweisungen in der Anweisungsgruppe statisch ausführen und die Anweisungsgruppe modifiziert wird, müssen Sie das Paket, das aus der Anweisungsgruppe erstellt wird, erneut binden.

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 Dienstprogramm Configure 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 Dienstprogramms Configure 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 Dienstprogramm Configure für die Datei captureFile.pdqxml ausführen.

-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 auf der Basis von Sonderregistereinstellungen 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 aufgezeichneten Sonderregisterwerten zugeordnet sein, wenn die Anweisung mehrmals von der Anwendung abgesetzt wurde und sich die Sonderregisterinformationen zwischen den Erfassungen der SQL-Anweisung geändert haben.

Werden die Optionen groupSQLBySpecialRegisters und 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. Die Anweisungsgruppen werden nach ihrer Erstellung 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.

Wenn Sie SQL-Anweisungen statisch ausführen, können Sie die Optionen -groupSQLBySpecialRegisters und -optionsFileForBind als Unterstützung beim Binden von Paketen für eine DB2-Datenbank verwenden.

Informationen zu den von pureQuery Runtime aufgezeichneten Sonderregisterinformationen finden Sie über die entsprechenden Links am Ende dieses Themas.

-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 Gruppierung auf der Basis anderer, gruppierungsteuernder Optionen durchgefü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 Anweisungsgruppen werden die Gruppen in der Reihenfolge erstellt, die in der Option groupSQLByStrings angegeben 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 Configure 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 Optionen groupSQLBySpecialRegisters und 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.

Beispiele zur Gruppierung von SQL-Anweisungen nach Zeichenfolgen finden Sie im Abschnitt mit den Beispielen.

-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 von Anweisungsgruppen 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.
-optionsFileForBind Bindeoptionsdatei|DEFAULT_IN_PUREQUERYXML_DIRECTORY
Gibt an, dass das Dienstprogramm Configure eine StaticBinder-Optionsdatei generiert. Die Optionsdatei enthält basierend auf den SQL-Anweisungen, Anweisungsgruppen und DB2-Sonderregisterinformationen in den pureQueryXML-Dateien Bindeoptionen und weitere Informationen. Ist die Datei bereits vorhanden, wird sie durch die neue Datei ersetzt.
Diese Option nimmt einen der folgenden Werte an:
Bindeoptionsdatei
Gibt den Namen der Datei einschließlich des zugehörigen absoluten oder relativen Pfads an.
DEFAULT_IN_PUREQUERYXML_DIRECTORY
Gibt an, dass die Datei observed.bindProps in dem Verzeichnis erstellt wird, in dem sich die pureQueryXML-Datei befindet.

Wenn dieser Wert in der defaultOptions-Zeile einer Optionsdatei des Dienstprogramms Configure angegeben wird, müssen sich alle in der Datei aufgelisteten pureQueryXML-Dateien in einem Einzelverzeichnis befinden.

Mithilfe der Bindeoptionen und weiteren Informationen in der Datei können Sie eine Gruppe von Bindeoptionen angeben, sodass das Verhalten einer SQL-Anweisung bei der statischen Ausführung dem Verhalten bei einer dynamischen Ausführung über eine Anwendung vergleichbar ist. Die Bindeoptionen werden mit dem pureQuery-Dienstprogramm StaticBinder verwendet, um Pakete für eine DB2-Datenbank zu erstellen und die Pakete für die Datenbank zu binden.

Die StaticBinder-Optionsdatei enthält die folgenden Typen an Informationen für die Anweisungsgruppen und SQL-Anweisungen in der pureQueryXML-Datei:
  • Bindeoptionen für die Anweisungsgruppen
  • Informationen und Warnungen für die SQL-Anweisungen und Anweisungsgruppen

    Das Dienstprogramm Configure fügt Kommentare mit Informationen zu den Anweisungsgruppen und Sonderregisterwertegruppen hinzu, auf die in der Datei verwiesen wird.

    Das Dienstprogramm Configure fügt die StaticBinder-Option -configureWarning mit Warnungen hinzu. Die Warnungen geben mögliche Ursachen dafür an, dass SQL-Anweisungen nicht das erwartete Verhalten aufweisen, wenn Sie diese statisch ausführen, nachdem Sie über die Anweisungsgruppe Pakete für die Datenbank gebunden haben.

Informationen zur vom Dienstprogramm Configure erstellten StaticBinder-Optionsdatei und zu den beim Erfassen von SQL-Anweisungen aufgezeichneten Sonderregisterinformationen finden Sie über die entsprechenden Links am Ende dieses Themas.

-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.

Das Dienstprogramm Configure erstellt eine Kopie der pureQueryXML-Datei und hängt die Versions-ID an den Namen der Datei an.

AUTO
Gibt an, dass die Versions-ID unter Verwendung der aktuellen Zeitmarke automatisch generiert wird. Für die Versions-ID wird eine einzige Zeitmarke verwendet.
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.

Die Versions-ID darf 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.

Wenn Sie diese Option angeben und das Dienstprogramm Configure die pureQueryXML-Datei nicht ändert, erstellt das Dienstprogramm keine Kopie der pureQueryXML-Datei.

Wenn Sie diese Option nicht angeben, werden Datenbankpakete, die aus nachfolgenden Bindevorgängen resultieren, ohne eine Version erstellt und es wird keine Kopie der Datei erstellt.

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. Sie müssen den vollständigen oder relativen Pfad zur Datei angeben.
-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.

Die Zeitmarke wird zu dem Zeitpunkt aktualisiert, wenn pureQuery Runtime die SQL-Anweisung erfasst.

Hat die SQL-Anweisung keine Zeitmarke, wird die SQL-Anweisung in die Ausgabedatei geschrieben. Keine Zeitmarkeninformationen enthalten könnte beispielsweise eine pureQueryXML-Datei einer früheren Version. Wenn Sie eine pureQueryXML-Datei konfigurieren, die keine Zeitmarkeninformationen aufweist (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.

-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.

-setPreStatusOfAllPkgs AUTO|FINAL|REQUIRED
Gibt einen Paketstatus an. Das Dienstprogramm Configure setzt alle Anweisungsgruppen 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 Anweisungsgruppen werden wie gewöhnlich konfiguriert. Benannte Gruppen werden geprüft und nur erforderlichenfalls konfiguriert.
  • FINAL: Setzt den Status aller benannten Anweisungsgruppen auf FINAL. Der Status von nicht benannten Paketen wird ignoriert, das Paket wird konfiguriert. Benannte Anweisungsgruppen werden geprüft und Warnungen werden ausgegeben.
  • REQUIRED: Dies ist der Standardwert für nicht benannte Pakete. Für benannte Anweisungsgruppen 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 an, dass das Dienstprogramm Configure nach der Verarbeitung den Status aller Pakete in der pureQueryXML-Ausgabedatei auf FINAL setzt.
Wenn der Wert der Option -setPostStatusOfAllPkgs 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.
-showDetails TRUE|FALSE
Gibt an, ob das Dienstprogramm Configure eine Zusammenfassung seiner Aktivität anzeigt. Der Standardwert ist FALSE.
-sqlLimit Anzahl
Gibt die maximal zulässige Anzahl SQL-Anweisungen im DB2-Paket an. Wenn die Anzahl SQL-Anweisungen diesen Grenzwert überschreitet, bindet 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 binden 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 sqlLimit nicht auf einen Wert größer als 400 setzen.

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.
-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.

Ausgabe des Dienstprogramms Configure

Das Dienstprogramm Configure generiert ein bis vier 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. Wenn das Dienstprogramm Configure die Datei ändert, hängt es die Versions-ID 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. Wenn das Dienstprogramm Configure die Datei nicht ändert, erstellt das Dienstprogramm keine Kopie der Datei mit der Versions-ID.
    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 drei 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.
  • Die vierte Datei wird generiert, wenn Sie die Option optionsFileForBind angeben. Das Dienstprogramm Configure generiert eine StaticBinder-Optionsdatei, die DB2-Bindeoptionen enthält. Das Dienstprogramm Configure fügt der Datei außerdem Kommentare hinzu, die Warnungen und weitere Informationen zum Inhalt der Datei enthalten. Die Bindeoptionen können mit dem pureQuery-Dienstprogramm StaticBinder verwendet werden.

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 weiterzuverwenden, 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.

XML-Attribut isBindable in der pureQueryXML-Datei

Die pureQueryXML-Datei ist eine XML-Datei, die die von pureQuery Runtime erfassten SQL-Anweisungen und zugehörigen Informationen enthält. Die SQL-Anweisungen in der Datei werden in mindestens eine Anweisungsgruppe gruppiert. Das XML-Attribut isBindable ist ein Attribut für Anweisungsgruppen und einzelne SQL-Anweisungen. Das Attribut isBindable steuert, ob eine SQL-Anweisung statisch für eine DB2-Datenbank ausgeführt wird. Das Attribut kann den Wert 'true' oder 'false' haben. Dieser Wert steuert die folgenden Aktionen:
  • Ob eine Bindeoperation ausgeführt wird. Wenn Sie das Dienstprogramm StaticBinder ausführen, um Pakete für eine DB2-Datenbank zu binden, stellt das Dienstprogramm anhand des Werts des Attributs isBindable fest, ob für die SQL-Anweisung oder Anweisungsgruppe Pakete gebunden werden sollen.
    • Ist der Wert für die Anweisungsgruppe auf 'true' gesetzt, führt StaticBinder die Bindeoperation aus.
    • Ist der Wert für die Anweisungsgruppe auf 'false' gesetzt, wird die Operation nicht ausgeführt.
    • Ist der Wert für die Anweisungsgruppe auf 'true' und für eine SQL-Anweisung auf 'false' gesetzt, wird die Bindeoperation ausgeführt, die Anweisung aber davon ausgeschlossen.
  • Ob die SQL-Anweisung statisch ausgeführt wird. Ist der Wert der pureQuery Runtime-Eigenschaft executionMode auf STATIC gesetzt und hat das Attribut isBindable den Wert 'true' für die Anweisungsgruppe und die SQL-Anweisung, versucht pureQuery Runtime die Anweisung statisch auszuführen.

    Hat das Attribut isBindable den Wert 'true' für die Anweisungsgruppe und den Wert 'false' für eine SQL-Anweisung in der Gruppe, steuert der Wert der pureQuery Runtime-Eigenschaft allowDynamicSQL, ob pureQuery Runtime versucht, die Anweisung dynamisch auszuführen oder einen Fehler zurückgibt.

    Hat das Attribut isBindable den Wert 'false' für die Anweisungsgruppe, steuert der Wert der pureQuery Runtime-Eigenschaft allowDynamicSQL, ob pureQuery Runtime versucht, eine SQL-Anweisung in der Gruppe dynamisch auszuführen oder einen Fehler zurückgibt.

Mithilfe des pureQueryXML-Editors in der Workbench können Sie den Wert des Attributs isBindable in einer pureQueryXML-Datei für eine Anweisungsgruppe und eine Anweisung ändern.

Empfehlung: IBM empfiehlt dringend, pureQueryXML-Dateien nur über die Workbench zu bearbeiten. Wenn Sie eine pureQueryXML-Datei außerhalb der Workbench bearbeiten, besteht das Risiko, dass die Datei unbrauchbar wird.

Wenn Sie eine pureQueryXML-Datei manuell bearbeiten, stellen Sie sicher, dass Sie zuerst eine Sicherungskopie der Datei erstellen. Führen Sie die XML-Schemaüberprüfung der pureQueryXML-Eingabedateien durch Angabe der Option -validateXml für die pureQuery-Dienstprogrammen Merge, Configure oder StaticBinder aus.

Wenn Sie eine pureQueryXML-Datei außerhalb der Workbench bearbeiten müssen, setzen Sie im Startbefehl des Elements statementSet der Anweisungsgruppe, in der Sie die Bearbeitung durchführen, den Wert des Attributs configureStatus auf REQUIRED. Wenn Sie mit dem Bearbeiten der Datei fertig sind, führen Sie das Dienstprogramm Configure für die Datei aus.

Das folgende XML-Fragment setzt den Wert des Attributs configureStatus auf REQUIRED:
<statementSet configureStatus="REQUIRED">

Wenn Sie eine pureQueryXML-Datei außerhalb der Workbench bearbeiten, können Sie den Wert des Attributs isBindable für eine Anweisungsgruppe und eine Anweisung ändern.

Wenn Sie das Attribut isBindable für eine Anweisungsgruppe ändern möchten, ändern Sie den Wert des Attributs isBindable für das Paketelement, das das untergeordnete Element des Anweisungsgruppenelements darstellt.

Wenn Sie das Attribut isBindable für eine SQL-Anweisung ändern möchten, ändern Sie den Wert des Attributs isBindable für das Element statementAttributes, das das untergeordnete Element des Anweisungselements darstellt.

Das folgende XML-Fragment ist Bestandteil einer Anweisungsgruppe aus einer pureQueryXML-Datei:
<statementSet configureStatus="AUTO">
      <package collection="NULLID" consistencyToken="0000012551b7579f" isBindable="true" 
            isDDLPackage="false" name="pureQu" version=""/>
      <statements>
         <statement id="1" sectionNumber="1">
            <statementDescriptor>
               <prepareSql>SELECT CID FROM CUSTOMER WHERE CID &gt; 1002 </prepareSql>
               <statementType>QUERY</statementType>
               <resultSetMetadata>
                  <column columnName="CID" columnNameX="CID" databaseName="XMLTEST" 
                      databaseSchema="TEST " db2type="492" length="8" nullable="false" 
                      tableName="CUSTOMER"/>
               </resultSetMetadata>
               <statementAttributes cursorName="DB_PDQ_SPC2" isBindable="true" 
                    prepareOptions="FOR READ ONLY " resultSetConcurrency="CONCUR_READ_ONLY" 
                    resultSetHoldability="HOLD_CURSORS_OVER_COMMIT" 
                    resultSetType="TYPE_FORWARD_ONLY"/>
               <processedSql>SELECT CID FROM CUSTOMER WHERE CID &gt; 1003</processedSql>
            </statementDescriptor>
            <statementMetadata>
               <traceInfo>
                  <sqlDefinitionStackTraces>
                     <trace>
          . . .
</statementSet>

Im folgenden XML-Fragment aus dem Beispiel steht das Attribut isBindable im Startbefehl des Paketelements. Der Wert ist 'true'.

<package collection="NULLID" consistencyToken="0000012551b7579f" isBindable="true" 
     isDDLPackage="false" name="pureQu" version=""/>

Die Beispielanweisungsgruppe enthält die SQL-Anweisung SELECT CID FROM CUSTOMER WHERE CID > 1003. Im folgenden XML-Fragment ist das Attribut isBindable für die SQL-Anweisung ein Attribut des Elements statementAttributes. Das Element statementAttributes ist ein untergeordnetes Element des Anweisungselements, das die SQL-Anweisung enthält. Der Wert ist 'true'.

<statementAttributes cursorName="DB_PDQ_SPC2" isBindable="true" 
      prepareOptions="FOR READ ONLY " resultSetConcurrency="CONCUR_READ_ONLY" 
      resultSetHoldability="HOLD_CURSORS_OVER_COMMIT" 
      resultSetType="TYPE_FORWARD_ONLY"/>

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 aufgezeichnet. Die aufgezeichneten Sonderregisterwerte sind die Werte, die allgemein festgelegt sind und möglicherweise das Verhalten der SQL-Anweisung beeinflussen, wenn sie geändert werden.

Das Dienstprogramm Configure zeigt die in der pureQueryXML-Datei aufgezeichnete Sonderregisteraktivität als Teil der Aktivität des Dienstprogramms Configure an.

Wenn Sie Anweisungsgruppen auf der Basis der Sonderregisterinformationen erstellen möchten, die mit den SQL-Anweisungen aufgezeichnet wurden, geben Sie die Option -groupSQLBySpecialRegisters an.

Wenn Sie eine StaticBinder-Optionsdatei erstellen möchten, die auf den bei der Erfassung der SQL-Anweisungen aufgezeichneten Sonderregisterinformationen basierende Bindeinformationen enthält, geben Sie die Option -optionsFileForBind an. Sie können eine StaticBinder-Optionsdatei auch dann erstellen, wenn Sie die Option -groupSQLBySpecialRegisters zur Erstellung von Anweisungsgruppen auf der Basis von Sonderregisterinformationen zu SQL-Anweisungen nicht angegeben haben. Informationen zur Datei und zu den von pureQuery Runtime aufgezeichneten Sonderregisterinformationen finden Sie über die entsprechenden Links am Ende dieses Themas.

Sonderregisterinformationen in der pureQueryXML-Datei

Bei der Erfassung einer SQL-Anweisung in einer pureQueryXML-Datei zeichnet pureQuery Runtime Sonderregisterinformationen für die Anweisung auf. Die Sonderregisterinformationen werden in der Datei im XML-Element specialRegValuesSet gespeichert.

Das Element specialRegValuesSet enthält mindestens eine Instanz des XML-Elements specialRegValue. Das Attribut specialRegValueId ist ein Attribut des Elements specialRegValue. Der Wert des Attributs specialRegValueId entspricht der ID des Elements specialRegValue.

Das Element specialRegValue enthält darüber hinaus eine Gruppe von Sonderregisterinformationen, die bei der Erfassung einer SQL-Anweisung aufgezeichnet werden. Die erfassten SQL-Anweisungen werden in einer Instanz des XML-Elements statementSet gespeichert. Jedes statementSet-Element enthält mindestens eine Instanz des XML-Elements 'statement'. Jedes Element 'statement' enthält SQL-Informationen zur erfassten SQL-Anweisung.

Der Wert des Attributs specialRegValueId dient dazu, die Sonderregisterinformationen im Element specialRegValue mit den SQL-Anweisungen in Beziehung zu setzen. Der Wert des Attributs specialRegValueId wird von pureQuery Runtime als Wert eines Attributs des Elements statementAttributes der SQL-Anweisung angegeben.

Informationen zu den von pureQuery Runtime aufgezeichneten Sonderregisterinformationen finden Sie über die entsprechenden Links am Ende dieses Themas.

Das folgende XML-Fragment ist ein Beispiel für das Element specialRegValuesSet aus einer pureQueryXML-Datei:

<specialRegValuesSet>
    <specialRegValue specialRegValueId="0" 
         specialRegisterVectorValue="UNTRACKED_SET: FALSE|
         SCHEMA: MYTEST |
         PATH: &quot;SYSIBM&quot;,&quot;SYSFUN&quot;,&quot;SYSPROC&quot;,
            &quot;SYSIBMADM&quot;,&quot;MYTEST&quot;|
         SQLID: MYTEST |
         DECFLOAT ROUNDING: ROUND_HALF_EVEN"/>
    <specialRegValue specialRegValueId="1" 
         specialRegisterVectorValue="UNTRACKED_SET: FALSE|
         SCHEMA: DB2ADMIN|
         PATH: &quot;SYSIBM&quot;,&quot;SYSFUN&quot;,&quot;SYSPROC&quot;,
            &quot;SYSIBMADM&quot;,&quot;DB2ADMIN&quot;|
         SQLID: DB2ADMIN|
         DECFLOAT ROUNDING: ROUND_HALF_EVEN"/>
</specialRegValuesSet> 
Das folgende Fragment einer pureQueryXML-Datei zeigt einen Auszug aus dem Anweisungselement einer SQL-Anweisung in einer pureQueryXML-Datei.
<statement id="1" sectionNumber="1">
     <statementDescriptor>
        <prepareSql>SELECT count(EMPNO) FROM EMPLOYEE WHERE WORKDEPT NOT LIKE 'E21' </prepareSql>
        <statementType>QUERY</statementType>
        <resultSetMetadata>
           <column columnName="1" databaseName="SAMPLE" db2type="496" length="4" nullable="false" 
               unnamedColumn="1"/>
        </resultSetMetadata>
        <statementAttributes cursorName="DB_PDQ_SPC5" 
            isBindable="true" prepareOptions="FOR READ ONLY " resultSetConcurrency="CONCUR_READ_ONLY" 
            resultSetHoldability="HOLD_CURSORS_OVER_COMMIT" resultSetType="TYPE_FORWARD_ONLY" 
            specialRegValuesUsed="0,1"/>
        <processedSql>SELECT count(EMPNO) FROM EMPLOYEE WHERE WORKDEPT NOT LIKE 'E22' </processedSql>
     </statementDescriptor>
     . . .
</statement>

Im Beispiel gibt der Wert des Attributs specialRegValuesUsed für das Element statementAttributes zwei Sonderregistergruppen-IDs an. Die Gruppen-IDs haben die Werte 0 und 1. pureQuery Runtime erfasste die SQL-Anweisung mehrfach. Bei der Erfassung der Anweisung durch pureQuery wurden zwei verschiedene Gruppen von Sonderregisterinformationen aufgezeichnet.

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 Dienstprogramm Configure
Optionen für 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 eine Warnung protokolliert.


Feedback