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