Gibt das Verhalten der pureQuery-Clientoptimierung an, wenn während des Abrufens oder Schreibens von pureQuery-Daten Fehler auftreten. Wenn die pureQuery-Laufzeiteigenschaften und die pureQueryXML-Daten nicht von der über die Eigenschaft finalRepositoryProperties angegebene Speicherposition abgerufen werden können oder wenn das Repository, in dem das erfasste SQL gespeichert ist, nicht zugänglich ist.
Bei einer Java-Anwendung mit pureQuery-Clientoptimierung wird diese Eigenschaft nur erkannt, wenn die Eigenschaft finalRepositoryProperties ebenfalls angegeben ist. Andernfalls wird sie ignoriert. Die Eigenschaft finalRepositoryProperties wird für CLI-Anwendungen, die für die pureQuery-Clientoptimierung aktiviert sind, nicht unterstützt.
Diese Eigenschaft kann folgende Werte annehmen:
- atStartup
- Gibt an, dass die über die Eigenschaft finalRepositoryProperties angegebene Speicherposition beim Anwendungsstart erforderlich ist. Wenn die pureQuery-Eigenschaften nicht verfügbar sind oder Lesefehler auftreten, wird eine Ausnahmebedingung ausgelöst.
- forOutput
- Gibt an, dass das Schreiben der ersten erfassten SQL-Daten in das Repository erfolgreich sein muss. Wenn das Repository nicht verfügbar ist oder Schreibfehler auftreten, wird eine Ausnahmebedingung ausgelöst. Wird das Repository erst nach dem Anwendungsstart nicht verfügbar, wird ein Fehler protokolliert, falls die Protokollierung aktiviert ist.
Die Anwendung wird weiter ausgeführt und das Schreiben des erfassten SQL wird zum nächsten geplanten Zeitpunkt erneut versucht.
Der Wert wird nicht unterstützt für CLI-Anwendungen, die für die pureQuery-Clientoptimierung aktiviert sind.
- atStartupAndForOutput
- Gibt an, dass die beiden Werte atStartup und forOutput aktiviert sind.
Der Wert wird nicht unterstützt für CLI-Anwendungen, die für die pureQuery-Clientoptimierung aktiviert sind.
- no
- Gibt das Standardverhalten an, wenn die über die Eigenschaft finalRepositoryProperties angegebene Speicherposition beim Anwendungsstart nicht verfügbar ist. Die folgende Liste beschreibt das Standardverhalten:
- Die Anwendung wird mit der pureQuery-Standardclientoptimierung und der pureQuery-Standardlaufzeitkonfiguration ausgeführt. Die Anwendung führt dynamisches SQL aus.
- Ist die Protokollierung aktiviert, wird eine Nachricht protokolliert, die das Problem mit dem Repository angibt.
- Wenn ein Zeitgeber-Thread erstellt werden kann, wird alle 10 Minuten ein Versuch unternommen, die die pureQuery-Laufzeiteigenschaften und die pureQueryXML-Daten abzurufen.
Wenn die Informationen abgerufen wurden, verwendet die pureQuery-Clientoptimierung die abgerufenen pureQuery-Laufzeiteigenschaften und pureQueryXML-Daten.
- Ist die pureQuery-Clientoptimierung konfiguriert, erfasste SQL-Daten in einem Repository zu speichern, das Repository jedoch nicht verfügbar ist oder ein Schreibfehler entdeckt wurde, wird eine Nachricht protokolliert, die das Problem mit dem Repository angibt. Zum nächsten geplanten Zeitpunkt wird versucht, die erfassten SQL-Daten in das Repository zu schreiben.
Hinweise
Die folgende Liste enthält Informationen zur Verwendung der Eigenschaft repositoryRequired:
- Wenn Sie das Standardverhalten der pureQuery-Clientoptimierung überschreiben wollen, geben Sie die Eigenschaft repositoryRequired als Teil der pureQuery-Eigenschaften für den Anwendungsstart an.
- Ist die Eigenschaft repositoryRequired als Eigenschaft angegeben, die von einem Repository abgerufen wurde, ersetzt der Eigenschaftswert den aktuellen Eigenschaftswert.
- Ist es erforderlich, dass die Anwendung statisches SQL ausführt oder mit SQL-Ersetzungen ausgeführt wird, geben Sie den Eigenschaftswert atStartup oder atStartupAndForOutput an.
- Die folgende Umgebung wird vorausgesetzt:
- Das Repository, das die pureQuery-Laufzeiteigenschaften und pureQueryXML enthält, und erforderlichenfalls das Repository, in dem die erfassten SQL-Daten gespeichert werden, sind beim Anwendungsstart verfügbar.
- Die pureQuery-Eigenschaften und die pureQueryXML-Daten werden abgerufen und erfolgreich verarbeitet.
- Die Eigenschaft propertiesRefreshInterval ist aktiviert und auf einen Wert größer als Null gesetzt.
Die folgende Liste beschreibt die Interaktion zwischen der Eigenschaft propertiesRefreshInterval und der Eigenschaft repositoryRequired:
- Wenn während einer Aktualisierung die Speicherposition mit den pureQuery-Eigenschaften und den pureQueryXML-Daten nicht verfügbar ist, wird ein Fehler protokolliert und die Anwendung wird mit den pureQuery-Eigenschaften und dem pureQueryXML ausgeführt, die beim Systemstart erfolgreich abgerufen wurden. Bei jedem Aktualisierungsintervall versucht die pureQuery-Clientoptimierung die pureQuery-Daten abzurufen.
- Werden während einer Aktualisierung Updates an den pureQuery-Eigenschaften oder den pureQueryXML-Daten in der Speicherposition erkannt, werden die aktualisierten Daten abgerufen. Tritt während des Abrufens ein Fehler auf, wird ein Fehler protokolliert und die Daten werden ignoriert. Es wird versucht, die pureQuery-Daten während der nächsten Aktualisierung abzurufen.
- Wurden während einer Aktualisierung aktualisierte pureQuery-Daten mit ungültigen Eigenschaften oder fehlerhaftem pureQueryXML abgerufen, wird ein Fehler protokolliert und die abgerufenen Daten werden ignoriert. Es wird versucht, die pureQuery-Daten während der nächsten Aktualisierung abzurufen.
- Wenn der Wert der Eigenschaft cmx.controllerDiscoveryInterval in den folgenden Umgebungen auf -2 gesetzt ist, wird die Erstellung des Zeitgeber-Threads verhindert und die Eigenschaft propertiesRefreshInterval wird ignoriert:
- Gespeicherte Java-Prozedur in DB2 for z/OS
- CICS
Der Wert der Eigenschaft ist auf -2 gesetzt, um die automatische Erkennung für Performance Expert Extended Insight zu inaktivieren.
In diesen Umgebungen wird die Anwendung unter Verwendung von dynamischem SQL ausgeführt. Ist die Clientoptimierung für die Erfassung von SQL-Daten konfiguriert und die erfassten SQL-Daten können nicht geschrieben werden, wird ein Fehler protokolliert und es wird versucht, das erfasste SQL später zu schreiben.
Hinweise zur Verwendung von DB2 CLI
und IBM Data Server Driver
Bei der Verwendung von DB2 Call Level Interface (CLI) oder IBM® Data Server Driver mit
pureQuery Runtime können Sie die pureQuery Runtime-Eigenschaft als Konfigurationsschlüsselwort verwenden.
- IBM CLI-Schlüsselwortsyntax
- repositoryRequired = atStartup | no
- IBM Data Server Driver-Konfigurationssyntax
- <parameter name="repositoryRequired" value="atStartup | no"
/>
- funktional entsprechendes Verbindungszeichenfolgenschlüsselwort von IBM Data Server
Provider für .NET
- nicht zutreffend
Hinweise zur Verwendung von DB2 CLI
Die folgenden Nutzungshinweise gelten, wenn das Schlüsselwort
pureQueryXmlRepository für CLI-Anwendungen angegeben wird, die für die pureQuery-Clientoptimierung aktiviert sind:
- Bei CLI-Anwendungen werden nur die Daten der pureQueryXML-Datei aus dem Repository abgerufen. Die pureQuery Runtime-Einstellungen werden nicht aus dem Repository abgerufen. Es werden die in der Konfigurationsdatei angegebenen pureQuery Runtime-Einstellungen verwendet.
- repositoryRequired unterstützt nur die Werte atStartup und no.
- Wenn Sie das Schlüsselwort repositoryRequired angeben, müssen auch die Schlüsselwörter pureQueryXmlRepository und propertiesGroupId angegeben werden.
- Wenn repositoryRequired auf no gesetzt ist und die durch das Schlüsselwort pureQueryXmlRepository angegebene Repository-Position beim Start nicht verfügbar ist, werden die SQL-Anweisungen dynamisch mit den pureQuery Runtime-Standardeinstellungen ausgeführt. Alle pureQuery Runtime-Schlüsselwortwerte mit Ausnahme des Schlüsselworts sqlLiteralSubstitution werden auf ihre Standardwerte gesetzt. Der in der Konfigurationsdatei definierte Wert von sqlLiteralSubstitution wird beibehalten.
- Wenn der Abruf der pureQueryXml-Erfassungsdatei aus dem Repository fehlschlägt, wird der SQL-Fehler CLI00202E zurückgegeben.