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.
Dieses Thema ist in die folgenden Abschnitte unterteilt:
Eine Beschreibung der in den Diagrammen verwendeten Konventionen finden Sie in Syntaxdiagramme lesen.
Sie können eine pureQueryXML-Datei in einem Editor öffnen, um die Aktualisierungen anzuzeigen, die das Dienstprogramm Configure an dieser Datei vorgenommen hat.
Verwenden Sie diese Einstellung, um die DB2-Pakete fortzusetzen, die aus den SQL-Anweisungen in der pureQueryXML-Datei erstellt wurden.
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'.
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.
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 ORDERSIn 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.
-pkgVersion "ver#1"
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.
(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-'
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.
>>-java--com.ibm.pdq.tools.Configure----------------------------> >-- -optionsFile--Dateiname--+-----------------------+--------->< | (1) | '-| Traceoptionen |-----'
Dieses Syntaxdiagramm zeigt die Standardoptionen, die Sie für alle pureQueryXML-Dateien festlegen können, die Sie in einer Optionsdatei auflisten.
(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 |-----'
Dieses Syntaxdiagramm zeigt die Optionen, die Sie für jede pureQueryXML-Datei festlegen können, die Sie in einer Optionsdatei auflisten.
(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--+-'
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:
Sie müssen diese Option nicht verwenden, wenn eine der folgenden Bedingungen vorliegt:
pureQuery betrachtet eine Anweisung als aktualisierbar, wenn eine der folgenden Bedingungen vorliegt:
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.
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.
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.
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:
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.
Gültige Werte sind die Zeichenfolgen TRUE und FALSE, bei denen die Groß-/Kleinschreibung nicht beachtet werden muss. Es gibt keinen Standardwert.
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.
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.
Die Prüfung der Version während der Laufzeit basiert auf dem Konsistenztoken, nicht auf dem Versionsnamen.
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.
Ist der Wert auf 'true' gesetzt, zeigt das Dienstprogramm Configure die in der pureQueryXML-Eingabedatei erfasste Sonderregisteraktivität als Teil der Zusammenfassungsaktivität an.
Der Standardwert ist 100.
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.
>>-+------------------------+--+---------------------------+--->< '- -traceFile--Dateiname-' | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'
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.
Ist die Option -cleanConfigure auf 'TRUE' gesetzt, wird die Option -setPreStatusOfAllPkgs ignoriert. Es wird keine Nachricht protokolliert.
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.
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.
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.
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.
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:
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 |
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
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
capture_sales.pdqxml_1.0
capture_employee.pdqxml_1.0
capture_employee.ddl
SELECT * FROM TABLE3 SELECT * FROM TABLE2 SELECT * FROM TABLE1
Anweisungsgruppe 1: SELECT * FROM TABLE3 Anweisungsgruppe 2: SELECT * FROM TABLE2 Anweisungsgruppe 3: SELECT * FROM TABLE1
Anweisungsgruppe 1: SELECT * FROM TABLE1 Anweisungsgruppe 2: SELECT * FROM TABLE2 SELECT * FROM TABLE3
Anweisungsgruppe 1: SELECT * FROM TABLE1, SELECT * FROM TABLE2 Anweisungsgruppe 2: SELECT * FROM TABLE3
Es wird nicht empfohlen, denselben Tabellennamen in mehreren Anweisungsgruppendefinitionen zu verwenden. In diesem Fall wird ein Warnhinweis protokolliert.