Klicken Sie doppelt auf diese Datei, um sie in einem Editor in der Workbench zu öffnen. Die Datei befindet sich im Ordner pureQueryFolder in Ihrem Java™-Projekt.
In dieser Datei können Sie Optionen angeben, die für alle pureQueryXML-Dateien in Ihrem Projekt gelten. Sie können auch für einzelne pureQueryXML-Dateien spezifische Optionen angeben.
Sie können dieser Datei Kommentare hinzufügen. Beginnen Sie jeden Kommentar mit einem Symbol #.
Während Sie Einträge erstellen oder bearbeiten, können Sie Strg+Leertaste (oder Ihren eigenen Tastenanschlag, wenn Sie die Standardeinstellung geändert haben) eingeben, um Unterstützung abzurufen.
Eine Beschreibung der in den Syntaxdiagrammen verwendeten Konventionen finden Sie in Informationen zum Lesen von Syntaxdiagrammen.
Nach dem Speichern der Datei führt die Workbench das Konfigurationsdienstprogramm für diese Datei aus und aktualisiert die SQL-Modellstruktursicht. In der Sicht werden nur nicht gebundene Pakete angezeigt, weil Sie noch keine Bindeoperation ausgeführt haben.
Im folgenden Diagramm wird die zulässige Syntax zum Festlegen der Standardoptionen für alle pureQueryXML-Dateien angezeigt, die in der Datei aufgelistet werden.
>>-defaultOptions--=--+-------------------------------------+---> | .-NULLID------------. | '- -collection--+-Objektgruppenname-+-' >--+---------------------------------+--------------------------> '- -pkgVersion-- -+-AUTO--------+-' '-Versions-ID-' >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+-----------------------+------->< | .-100----. | | (1) | '- -sqlLimit--+-Anzahl-+-' '-| Traceoptionen |-----'
Im nächsten Syntaxdiagramm wird die zulässige Syntax zum Festlegen von Optionen für einzelne pureQueryXML-Dateien angezeigt, die in der Datei aufgelistet werden.
>>-pureQueryXML-Datei-------------------------------------------> >--+-------------------------------------+----------------------> | .-NULLID------------. | '- -collection--+-Objektgruppenname-+-' >--+---------------------------------+--------------------------> '- -pkgVersion-- -+-AUTO--------+-' '-Versions-ID-' >-- -rootPkgName--Stamm_des_Paketnamens-------------------------> >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+-----------------------------+------------------------------> | .-FALSE-. | '- -cleanConfigure--+-TRUE--+-' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+-----------------------+------->< | .-100----. | | (1) | '- -sqlLimit--+-Anzahl-+-' '-| Traceoptionen |-----'
Zusätzlich zum Dateinamen müssen Sie einen absoluten Pfad für die Datei angeben.
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:
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.
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 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.
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:
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.
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.
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.
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.
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 sqlLimit nicht auf einen Wert größer als 400 setzen.
>>-+------------------------+--+---------------------------+--->< '- -traceFile--Dateiname-' | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'