Vom Dienstprogramm Configure erstellte StaticBinder-Optionsdatei

Mit den Configure-Optionen -groupSQLBySpecialRegisters und -optionsFileForBind können Sie eine StaticBinder-Optionsdatei für eine pureQueryXML-Datei erstellen. 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 für eine DB2-Datenbank dem Verhalten bei einer dynamischen Ausführung über eine Anwendung vergleichbar ist.

Bei Angabe der Option -groupSQLBySpecialRegisters gruppiert das Dienstprogramm Configure SQL-Anweisungen in der pureQueryXML-Datei auf der Basis der Sonderregisterinformationen, die beim Erfassen der SQL-Anweisungen aufgezeichnet wurden, in Anweisungsgruppen. Die aufgezeichneten Sonderregistereinstellungen sind Einstellungen, die sich möglicherweise auf das Verhalten der SQL-Anweisung auswirken.

Bei Angabe der Option -optionsFileForBind generiert das Dienstprogramm Configure eine StaticBinder-Optionsdatei und versucht, auf der Basis der beim Erfassen der SQL-Anweisungen aufgezeichneten Sonderregistereinstellungen, eine Gruppe von Bindeoptionen für Anweisungsgruppen zu generieren. Werden die Anweisungen in der Anweisungsgruppe auf der Grundlage einer einzelnen Gruppe von Sonderregisterwerten gruppiert, generiert das Dienstprogramm Configure eine einzelne Gruppe von Bindeoptionen. Wird die Anweisungsgruppe auf der Basis mehrerer Gruppen mit Sonderregisterwerten gruppiert, erstellt das Dienstprogramm einen Kommentar, der für jede Sonderregistergruppe eine Gruppe von Bindeoptionen enthält. Das Dienstprogramm fügt außerdem Kommentare mit Informationen und Warnungen zu den Anweisungsgruppen, SQL-Anweisungen und Sonderregisterinformationen in der pureQueryXML-Datei hinzu.

Die Bindeoptionen benötigen Sie möglicherweise, wenn Sie Pakete für eine DB2-Datenbank binden, um SQL-Anweisungen statisch auszuführen. Bindeoptionen können erforderlich sein, damit das Verhalten einer SQL-Anweisung bei der statischen Ausführung dem Verhalten bei einer dynamischen Ausführung vergleichbar ist.

Prüfen Sie die generierten Bindeoptionen, bevor Sie sie mit dem Dienstprogramm StaticBinder verwenden. Modifizieren Sie, falls erforderlich, die Bindeoptionen für Ihre Umgebung, sodass die SQL-Anweisungen bei statischer Ausführung ein ordnungsgemäßes Verhalten aufweisen.

In manchen Fällen ist die Angabe einer Gruppe von Bindeoptionen für eine Anweisungsgruppe unter Umständen nicht möglich. Sie können angeben, dass das Dienstprogramm StaticBinder keine Bindeoperation ausführen soll. Ändern Sie in der pureQueryXML-Datei den Wert des XML-Attributs isBindable in 'false' für die jeweilige Anweisungsgruppe und konfigurieren Sie die pureQueryXML-Datei erneut. Informationen zum Attribut isBindable und zum Ändern des Attributs finden Sie in XML-Attribut isBindable in der pureQueryXML-Datei.

Format der StaticBinder-Optionsdatei

Die Datei, die vom Dienstprogramm Configure generiert wird, hat das Optionsdateiformat für das pureQuery-Dienstprogramm StaticBinder. Die vom Dienstprogramm Configure generierte Optionsdatei enthält Kommentare, den Eintrag defaultOptions und Einträge für das Binden von Anweisungsgruppen.

Kommentar
Ein Kommentar beginnt mit dem Symbol #. Der Text ab dem Symbol # bis zum Ende der Zeile wird vom Dienstprogramm StaticBinder ignoriert. Das Dienstprogramm Configure hängt Kommentare an eine Eingabezeile an oder erstellt eine separate Kommentarzeile.

Ein Kommentar enthält Warnungen und Informationen und kann darüber hinaus eine Gruppe von Bindeoptionen enthalten. Informationen zu den in den Kommentaren enthaltenen Informationen finden Sie in Vom Dienstprogramm Configure generierte Kommentare.

Eintrag defaultOptions
Gibt Bindeoptionen für alle pureQueryXML-Dateien an, die Sie in einer Optionsdatei auflisten. Der Eintrag defaultsOptions beginnt mit dem folgenden Text:
defaultOptions = 

Das Dienstprogramm Configure fügt dem Eintrag defaultOptions nur dann Bindeoptionen hinzu, wenn die Option -groupSQLBySpecialRegisters nicht angegeben wurde und keine der Anweisungsgruppen auf der Basis von Sonderregisterinformationen gruppiert wurde.

Das Dienstprogramm Configure generiert Bindeoptionen und fügt möglicherweise einen Kommentar mit zusätzlichen Informationen hinzu. Sie können weitere Optionen für Elemente wie die Verbindungs-URL oder Isolationsstufe hinzufügen. Informationen zum Eintrag defaultOptions finden Sie über den Link zu "Syntax für Standardoptionen in einer Optionsdatei für das Dienstprogramm StaticBinder für die Clientoptimierung" am Ende dieses Themas.

Beim folgenden defaultOptions-Beispieleintrag verwenden alle SQL-Anweisungen eine einzelne Sonderregisterwertegruppe. Der Eintrag ist aus Gründen der Lesbarkeit über mehrere Zeilen verteilt.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
   ROUNDING(HALFEVEN) DEC(15)" 
   # WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) 
   minimumDivideScale(8) SQLID(ADMF003)]
Der Text vor dem Nummernzeichen (#) ist der defaultOptions-Eintrag.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM)
   ROUNDING(HALFEVEN) DEC(15)"
Der Text nach dem Nummernzeichen (#) ist der Kommentartext für die Zeile. Der Kommentar im Beispieleintrag enthält Warnungstokens.
# WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
Der folgende defaultOptions-Beispieleintrag enthält lediglich einen Kommentar:
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
Bindeoptionen für eine Anweisungsgruppe

Das folgende Format gibt Bindeoptionen für eine Anweisungsgruppe an:

pureQueryXML-Datei:Basispaketname=Bindeoptionen

Der Eintrag, der vom Dienstprogramm Configure generiert wird, enthält nur die Anweisungsgruppeninformationen und Bindeoptionen. Sie können weitere Optionen hinzufügen. Der Eintrag kann einen Kommentar mit zusätzlichen Informationen und Warnungen für die Anweisungsgruppe enthalten.

Informationen zu einem Eintrag zum Binden einer Anweisungsgruppe finden Sie über den Link zu "Syntax für Einträge in einer Optionsdatei für Dienstprogramm StaticBinder für Clientoptimierung" am Ende dieses Themas.

Bei dem folgenden Beispiel handelt es sich um einen Eintrag für das Binden einer Anweisungsgruppe. Der Eintrag ist aus Gründen der Lesbarkeit über mehrere Zeilen verteilt.

C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" 
    # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
Der Text vor dem Nummernzeichen (#) ist der Eintrag für das Binden der Anweisungsgruppe MYRPN1K in der pureQueryXML-Datei C:\myDir\capture.pdqxml:
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
    ROUNDING(HALFEVEN) DEC(15)"
Der Text nach dem Nummernzeichen (#) ist der Kommentartext für die Zeile. Der Kommentar enthält Warnungen und Informationstokens zu der betreffenden Anweisungsgruppe.
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)

Vom Dienstprogramm Configure generierte Kommentare

Das Dienstprogramm Configure hängt Kommentare an einen Eintrag in der Optionsdatei an oder erstellt eine separate Kommentarzeile.
  • Ein an einen Eintrag angehängter Kommentar enthält Informationen zu diesem speziellen Eintrag.
  • Bei Auflistung in einer separaten Kommentarzeile handelt es sich um eine Gruppe von Bindeoptionen für eine Sonderregisterwertegruppe.
Ein an einen Optionsdateieintrag angehängter Kommentar bezieht sich jeweils auf diesen speziellen Eintrag. Beim folgenden Beispieleintrag wurde ein Kommentar an den Eintrag angehängt. Der Eintrag ist aus Gründen der Lesbarkeit über mehrere Zeilen verteilt.
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" 
    # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL) 
Im Kommentar des Beispieleintrags ordnen die Tokens, die in Klammern gesetzt sind, die Tokens einer Sonderregisterwertegruppe zu. Im Beispieleintrag gruppieren die Klammern die beiden Tokens minimumDivideScale(3) und UNTRACKED_SET mit der Sonderregisterwertegruppen-ID 10.
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL)
Die Tokens, die nicht in Klammern gesetzt sind, verweisen auf die Anweisungsgruppe. Der Beispieleintrag enthält ein Informationstoken, das angibt, dass das Attribut configureStatus der Anweisungsgruppe MYRPN1K auf FINAL gesetzt ist.
    INFO: configureStatus(FINAL)

Das Dienstprogramm Configure generiert Bindeoptionen für eine Anweisungsgruppe, wenn die Option -groupSQLBySpecialRegisters angegeben wurde oder die Anweisungsgruppe auf der Basis von Sonderregisterinformationen gruppiert wurde. Das Dienstprogramm Configure generiert Bindeoptionen für eine Anweisungsgruppe, wenn mit der Anweisungsgruppe eine einzelne Gruppe von Sonderregisterwerten aufgezeichnet wird. Werden mehrere Gruppen von Sonderregisterwerten für eine Anweisungsgruppe aufgezeichnet, erstellt das Dienstprogramm Configure Kommentare, in denen die Bindeoptionen enthalten sind, die auf den Sonderregisterwertegruppen basieren, die mit den SQL-Anweisungen in der Anweisungsgruppe aufgezeichnet wurden.

Die folgende Beispielkommentarzeile enthält Bindeoptionen, die auf einer Sonderregisterwertegruppe basieren. Der Kommentar ist aus Gründen der Lesbarkeit über mehrere Zeilen verteilt.
#  -bindOptions "QUALIFIER(SCHM13) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
       ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(3) UNTRACKED_SET]

Die Bindeoptionen im Kommentar basieren auf der Sonderregisterwertegruppe mit der ID 3 in der pureQueryXML-Datei C:\myDir\capture.pdqxml. Für die Sonderregisterwertegruppe 3 erkannte pureQuery Runtime außerdem Sonderregisteränderungen bei Sonderregistern, die von pureQuery verfolgt, für die aber keine Werte aufgezeichnet werden.

Kommentartokens in der StaticBinder-Optionsdatei

In der vom pureQuery-Dienstprogramm Configure erstellten StaticBinder-Optionsdatei fügt das Dienstprogramm nach den Bindeoptionen Kommentare hinzu. Die Kommentare enthalten Tokens, die Informationsnachrichten oder Warnungen darstellen. Tokens, denen die Angabe WARNING: vorangestellt wurde, geben mögliche Ursachen dafür an, dass die SQL-Anweisungen in den Anweisungsgruppen bei ihrer statischen Ausführung kein ordnungsgemäßes Verhalten aufweisen. Tokens, denen die Angabe INFO: vorangestellt wurde, dienen lediglich der Information.

Enthalten die einer Anweisung angehängten Kommentare das Token isBindable(FALSE) wird nur die Kennung INFO: verwendet. Das Token wird für eine Anweisungsgruppe aufgelistet, wenn das XML-Attribut isBindable den Wert 'false' hat. Beim Wert 'false' ignoriert das Dienstprogramm StaticBinder die Anweisungsgruppe, wenn der Bindeprozess ausgeführt wird. Wird die Anweisungsgruppe nicht gebunden, sind keine Warnungen erforderlich.

Hat das XML-Attribut isBindable für eine Anweisungsgruppe den Wert 'false', generiert das Dienstprogramm Configure die Optionen -bindOptions und -configureWarning nicht. In den Kommentaren für die Anweisung sind jedoch alle Tokens enthalten.

Informationen zum Attribut isBindable finden Sie in XML-Attribut isBindable in der pureQueryXML-Datei

Kommentartokens für Anweisungsgruppen

Die folgenden Tokens stellen Informationen zu Anweisungsgruppen bereit:

configureStatus(FINAL)
Ein Informationstoken. In der pureQueryXML-Datei hat das XML-Attribut configureStatus den Wert 'FINAL' für die Anweisungsgruppe. Wenn das Dienstprogramm Configure die Anweisungsgruppe verarbeitet, meldet das Dienstprogramm in der Anweisungsgruppe gefundene Fehler zurück. Das Dienstprogramm versucht nicht, die Fehler zu beheben.

Wenn Sie die Option -setPostStatusOfAllPkgs des Dienstprogramms Configure mit dem Wert FINAL angeben, wird das Token nicht für jede Anweisungsgruppe hinzugefügt. Das Token wird nur dann als Kommentar hinzugefügt, wenn das Attribut configureStatus den Wert FINAL für die Anweisungsgruppe in der pureQueryXML-Eingabedatei hat. Die Option -setPostStatusOfAllPkgs setzt nach der Konfiguration das Attribut configureStatus für alle Anweisungsgruppen auf FINAL.

Wenn Sie an der pureQueryXML-Datei Änderungen vornehmen, stellen Sie sicher, dass sich Ihre Änderungen nicht unabsichtlich auf die Anweisungsgruppen auswirken, für die das Attribut configureStatus auf den Wert FINAL gesetzt ist.

Generiert das Dienstprogramm Configure Warnungstokens für die Anweisungsgruppe, können Sie die Warnungen entweder ignorieren oder versuchen, die Ursache für die Warnungen zu beheben. Ignorieren Sie die Warnungen, wenn die vorhandenen Pakete, die Sie für die Datenbank gebunden haben, erhalten bleiben sollen. Wenn Sie versuchen möchten, die Ursache für die Warnungen zu beheben, lesen Sie die Informationen zum jeweiligen Warnungstoken. Das Beheben der Ursache für eine Warnung erfordert in der Regel ein Konfigurieren der Anweisungsgruppe. Nach der Konfiguration einer Anweisungsgruppe müssen die der Anweisungsgruppe zugeordneten Pakete erst vom Dienstprogramm StaticBinder erneut gebunden werden, bevor die SQL-Anweisungen in der Anweisungsgruppe statisch ausgeführt werden können.

incrementalSpecialRegValuesPresent
Ein Warnungstoken. Das Anweisungsgruppenattribut configureStatus ist auf FINAL gesetzt und die XML-Informationen enthalten für mindestens eine SQL-Anweisung in der Gruppe das Attribut incrementalSpecialRegValuesUsed. Das Attribut incrementalSpecialRegValuesUsed gibt an, dass neue Sonderregisterwertegruppen aufgezeichnet wurden. Bei der Gruppierung der SQL-Anweisungen auf der Grundlage von Sonderregistereinstellungen wurden die neuen Sonderregisterwertegruppen allerdings nicht berücksichtigt.

Das Dienstprogramm Configure fügt außerdem den Bindeoptionen für die Anweisungsgruppe die Option -configureWarning mit dem Wert INCREMENTAL_SPECIAL_REGISTER_VALUES_PRESENT hinzu.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Gehen Sie entsprechend einer der folgenden Methoden vor, um dem Dienstprogramm die Konfiguration einer Anweisungsgruppe zu ermöglichen, wenn das Attribut configureStatus für die Gruppe auf FINAL gesetzt ist:
  • Ändern Sie mithilfe des pureQueryXML-Editors in IBM® Data Studio den Wert des Attributs configureStatus in REQUIRED, bevor Sie das Dienstprogramm Configure ausführen.
  • Fügen Sie die Option -setPreStatusOfAllPkgs mit dem Wert REQUIRED oder AUTO hinzu, wenn Sie das Dienstprogramm Configure ausführen. Die Angabe dieser Option wirkt sich auf alle Anweisungsgruppen in der pureQueryXML-Datei aus. Verwenden Sie diese Option nur, wenn vorhandene Anweisungsgruppen nicht beibehalten werden müssen.
  • Fügen Sie die Option -cleanConfigure mit dem Wert TRUE hinzu, wenn Sie das Dienstprogramm Configure ausführen. Verwenden Sie diese Option nicht, wenn vorhandene Anweisungsgruppen beibehalten werden sollen.
Anmerkung: Bevor Sie den Wert FINAL des Attributs configureStatus in einen anderen Wert ändern, stellen Sie sicher, dass sich das Binden neuer Pakete für die Anweisungsgruppe nicht negativ auf Anwendung auswirkt, die die SQL-Anweisungen statisch ausführt. Wenn das Dienstprogramm Configure eine Anweisungsgruppe ändert, können die Pakete, die zuvor für die Originalanweisungsgruppe erstellt wurden, nicht für die statische Ausführung der SQL-Anweisungen verwendet werden. Sie müssen das Dienstprogramm StaticBinder ausführen, um neue Pakete zu binden.

Wenn Sie das Dienstprogramm Configure ausführen, fügen Sie die Option -optionsFileForBind hinzu, um eine neue Optionsdatei zu generieren. Stellen Sie sicher, dass die Warnung in der neuen Optionsdatei nicht vorhanden ist.

isBindable(FALSE)
Ein Informationstoken. In der pureQueryXML-Datei hat das XML-Attribut isBindable für die Anweisungsgruppe den Wert 'false' . Das Dienstprogramm StaticBinder führt keine Bindeoperation für die Anweisungsgruppe aus.
positionedUpdateSpecialRegValueId
Ein Warnungstoken. Die Anweisungsgruppe enthält positionierte Aktualisierungsanweisungen und ihre zugeordneten SQL-Abfragen. Die für mindestens eine positionierte Aktualisierungsanweisung aufgezeichneten Sonderregisterwerte unterscheiden sich von den Sonderregistereinstellungen für die Abfragen.

Bei der statischen Ausführung der SQL-Anweisungen erfordert eine DB2-Datenbank, dass eine positionierte Aktualisierungsanweisung in demselben Paket vorhanden ist, in dem sich auch ihre zugeordnete Abfrageanweisung befindet. Wenn eine positionierte Aktualisierungsanweisung mit Sonderregistereinstellungen ausgeführt werden muss, die sich von den Einstellungen unterscheiden, die von der zugeordneten Abfrage verwendet werden, müssen beide SQL-Anweisungen dynamisch ausgeführt werden.

Führen Sie die folgenden Schritte aus, um die Bindeoptionen für die Anweisungsgruppe anzugeben:
  1. Erstellen Sie eine Gruppe von Bindeoptionen, die bei der statischen Ausführung der SQL-Anweisungen in der Anweisungsgruppe zu einem ordnungsgemäßen Verhalten führen.
  2. Aktualisieren Sie die Bindeoptionen für die Anweisungsgruppe in der Optionsdatei so, dass diese Gruppe von Bindeoptionen angegeben wird.

Wenn Sie für die Anweisungsgruppe keine Gruppe von Bindeoptionen erstellen können, können Sie angeben, dass das Dienstprogramm StaticBinder die SQL-Anweisungen in der Gruppe nicht binden soll. Setzen Sie den Wert des Attributs isBindable auf 'false'.

SQLGroupedBySpecialRegisters(Warnung)
Ein Warnungstoken. Das Dienstprogramm Configure erkannte bei den mit den SQL-Anweisungen in der Anweisungsgruppe aufgezeichneten Sonderregisterinformationen ein Problem.
Warnung entspricht einem der folgenden Werte:
  • INCONSISTENT_SRINFO
  • MULTI_SRINFO
  • NO_SRINFO
  • NOT_GROUPED
INCONSISTENT_SRINFO
Die SQL-Anweisungen in der Anweisungsgruppe sind nicht ordnungsgemäß unter Beachtung des Sonderregisters gruppiert.

Das Dienstprogramm Configure fügt außerdem den Bindeoptionen für die Anweisungsgruppe die Option -configureWarning mit dem Wert SPECIAL_REGISTER_GROUPING_INCONSISTENT hinzu.

Bei der Konfiguration von Anweisungsgruppen können Sie die SQL-Anweisungen auf der Basis von Sonderregistereinstellungen gruppieren, indem Sie die Option -groupSQLBySpecialRegisters des Dienstprogramms Configure mit dem Wert TRUE angeben. Geben Sie die Option -optionsFileForBind an, um eine neue Optionsdatei zu generieren und stellen Sie sicher, dass das Problem für die neu generierte Optionsdatei nicht mehr zurückgemeldet wird. Sie können eine der folgenden Methoden zur Konfiguration einer Anweisungsgruppe verwenden:
  • Ändern Sie mithilfe des pureQueryXML-Editors in IBM Data Studio den Wert des Attributs configureStatus in REQUIRED, bevor Sie das Dienstprogramm Configure ausführen.
  • Geben Sie die Option -setPreStatusOfAllPkgs des Dienstprogramms Configure mit dem Wert REQUIRED an. Die Angabe dieser Option wirkt sich auf alle Anweisungsgruppen in der pureQueryXML-Datei aus.
  • Geben Sie die Option -cleanConfigure des Dienstprogramms Configure mit dem Wert TRUE an. Verwenden Sie diese Option nur, wenn vorhandene Anweisungsgruppen nicht beibehalten werden müssen.
Wenn Sie die Gruppierung der Anweisungen in diesen Anweisungsgruppen nicht ändern, können Sie die Informationen in der Optionsdatei zur Angabe einer Gruppe von Bindeoptionen verwenden:
  1. Erstellen Sie eine Gruppe von Bindeoptionen für die statische Ausführung der SQL-Anweisungen in der Anweisungsgruppe.
  2. Fügen Sie die Gruppe von Bindeoptionen der Zeile für die Anweisungsgruppe hinzu.
  3. Entfernen Sie in der Zeile den Wert SPECIAL_REGISTER_GROUPING_INCONSISTENT aus der StaticBinder-Option -configureWarning. Entfernen Sie die Option, wenn keine anderen Werte angegeben sind.

Wenn Sie keine Gruppe von Bindeoptionen angeben können, können Sie angeben, dass das Dienstprogramm StaticBinder keine Bindeoperation ausführen soll. Setzen Sie den Wert des Attributs isBindable für die Anweisungsgruppe auf 'false'.

MULTI_SRINFO
Die Anweisung wurde für jede SQL-Anweisung in der Anweisungsgruppe mehrfach erfasst. Bei den verschiedenen Erfassungsvorgängen wurden verschiedene Sonderregisterwerte aufgezeichnet. Das Dienstprogramm Configure listet die Bindeoptionen auf, die den Sonderregisterwertegruppen in der Optionsdatei entsprechen.

Das Dienstprogramm Configure fügt außerdem den Bindeoptionen für die Anweisungsgruppe die Option -configureWarning mit dem Wert MULTIPLE_SPECIAL_REGISTER_VALUE_SETS hinzu.

Führen Sie mithilfe der vom Dienstprogramm Configure aufgelisteten Bindeoptionen die folgenden Schritte aus:
  1. Erstellen Sie eine Gruppe von Bindeoptionen, die bei der statischen Ausführung der SQL-Anweisungen in der Anweisungsgruppe zu einem ordnungsgemäßen Verhalten führen.
  2. Fügen Sie die Bindeoptionen dem Eintrag für die Anweisungsgruppe hinzu.
  3. Entfernen Sie in dem Eintrag den Wert MULTIPLE_SPECIAL_REGISTER_VALUE_SETS aus der StaticBinder-Option -configureWarning. Entfernen Sie die Option, wenn keine anderen Werte angegeben sind.

Wenn Sie für die Anweisungsgruppe keine Gruppe von Bindeoptionen angeben können, können Sie angeben, dass das Dienstprogramm StaticBinder keine Bindeoperation ausführen soll. Setzen Sie den Wert des Attributs isBindable für die Anweisungsgruppe auf 'false'.

NO_SRINFO
Es werden keine Sonderregisterinformationen für die SQL-Anweisungen in der Anweisungsgruppe aufgezeichnet.
In der folgenden Liste sind einige Ursachen für das Nichtaufzeichnen von Sonderregisterinformationen für SQL-Anweisungen beschrieben:
  • Die SQL-Anweisungen wurden mit einer früheren Version von pureQuery Runtime erfasst, die das Aufzeichnen von Sonderregisterinformationen nicht unterstützt.

    Führen Sie zum Erfassen der Anweisungen und Aufzeichnen der Sonderregisterinformationen die Anwendung erneut mit der aktuellen Version von pureQuery Runtime aus.

  • Das Benutzerkonto, das zum Erfassen der SQL-Anweisungen verwendet wurde, verfügte nicht über die für den Zugriff auf Sonderregisterinformationen erforderliche Berechtigung.

    Geben Sie zum Aufzeichnen der Sonderregisterinformationen einen Benutzer mit der für den Zugriff auf Sonderregisterinformationen erforderlichen Berechtigung an.

  • Die SQL-Anweisungen wurden der pureQueryXML-Datei mit dem Dienstprogramm GeneratePureQueryXml hinzugefügt.

Wenn für das ordnungsgemäße Ausführen der SQL-Anweisungen in der Anweisungsgruppe Sonderregisterwerte erforderlich sind, geben Sie eine Gruppe von Bindeoptionen an, die in der Zeile für die Anweisungsgruppe in der Optionsdatei die korrekten Einstellungen generieren.

Wenn Sie die korrekten Bindeoptionen nicht kennen, können Sie angeben, dass das Dienstprogramm StaticBinder keine Bindeoperation ausführen soll. Setzen Sie den Wert des Attributs isBindable für die Anweisungsgruppe auf 'false'.

NOT_GROUPED
Die SQL-Anweisungen in der Anweisungsgruppe sind nicht nach Sonderregistereinstellungen gruppiert. SQL-Anweisungen in anderen Anweisungsgruppen sind nach Sonderregistereinstellungen gruppiert.
Wenn für die SQL-Anweisungen in den Anweisungsgruppen Sonderregisterwerte erforderlich sind, um ein ordnungsgemäßes Verhalten zu erreichen, gruppieren Sie die SQL-Anweisungen auf der Basis von Sonderregistereinstellungen. Verwenden Sie eine der folgenden Methoden:
  • Entfernen Sie mithilfe des pureQueryXML-Editors in IBM Data Studio die Namen der Anweisungsgruppen. Führen Sie anschließend das Dienstprogramm Configure erneut aus und geben Sie die Option -groupSQLBySpecialRegisters mit dem Wert TRUE an.
  • Führen Sie das Dienstprogramm Configure aus und geben Sie die Option -cleanConfigure mit dem Wert TRUE sowie die Option -groupSQLBySpecialRegisters mit dem Wert TRUE an. Verwenden Sie die Option -cleanConfigure nicht, wenn vorhandene Anweisungsgruppen beibehalten werden sollen.

Geben Sie die Option -optionsFileForBind des Dienstprogramms Configure an, um eine neue Optionsdatei zu generieren und sicherzustellen, dass die Warnung nicht mehr in der Datei vorhanden ist.

SQLGroupedByStrings(Zeichenfolgen)
Ein Informationstoken. SQL-Anweisungen in der Anweisungsgruppe sind auf der Basis der angegebenen Zeichenfolgen gruppiert.

Informationen zur Gruppierung von SQL-Anweisungen finden Sie in den Erläuterungen zur Option -groupSQLByStrings des Dienstprogramms Configure.

Kommentartokens für Sonderregisterwertegruppen

Die folgenden Tokens stellen Informationen zu einer Sonderregisterwertegruppe bereit, die bei der Ausführung von Anweisungen in einer Anweisungsgruppe verwendet wurde. Diese Tokens sind, wenn sie in Kommentaren enthalten sind, in eckige Klammern gesetzt, damit erkennbar ist, welche Tokens jeweils zu einer bestimmten Sonderregisterwertegruppe gehören.

Der folgende Beispielkommentar enthält Tokens für eine Sonderregisterwertegruppe:
# WARNING: [specialRegValueId(10) minimumDivideScale(3)]
Die Sonderregisterwertegruppe (specialRegValueId) hat die ID 10. Die Mindestanzahl der Kommastellen bei Divisionen (angegeben durch das Sonderregister CURRENT PRECISION) für die Sonderregisterwertegruppe ist 3.

Der Kommentar ist als Warnung markiert, da die Bindeoptionen bei einigen Datenbanken den Wert für die Mindestanzahl der Kommastellen bei Divisionen für Pakete nicht setzen können. Informationen zu den in einer pureQueryXML-Datei enthaltenen Informationen zu Sonderregisterwertegruppen finden Sie in Sonderregisterinformationen in der pureQueryXML-Datei.

minimumDivideScale(Anzahl der Kommastellen)
Ein Warnungstoken. In der zugeordneten Sonderregisterwertegruppe schließt der Sonderregisterwert CURRENT PRECISION bei Divisionsoperationen die Mindestanzahl der Kommastellen bei Divisionen ein. Der Sonderregisterwert CURRENT PRECISION hat das Format Dpp.s. Die Variable pp steht für die Genauigkeit und hat den Wert 15 oder 31. Zur Angabe der Genauigkeit generiert das Dienstprogramm Configure die Bindeoption DEC. Die Variable s steht für die optionale Mindestanzahl der Kommastellen bei Divisionen. Der Wert für s ist eine ganze Zahl zwischen 1 und 9. Der Wert für s entspricht dem Wert für die Anzahl der Kommastellen für das Token minimumDivideScale(Anzahl der Kommastellen). Bei einigen Datenbanken können die Bindeoptionen den Wert für die Mindestanzahl der Kommastellen bei Divisionen für Pakete nicht setzen.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Stellen Sie fest, ob Anweisungen in der Anweisungsgruppe nicht ordnungsgemäß ausgeführt werden, wenn bei Divisionsfunktionen die Mindestanzahl der Kommastellen bei Divisionen auf die Standardeinstellung für die Datenbank gesetzt ist.

Wenn die Möglichkeit besteht, dass eine SQL-Anweisung bei der statischen Ausführung nicht ordnungsgemäß ausgeführt wird, können Sie angeben, dass das Dienstprogramm StaticBinder die SQL-Anweisungen in der Gruppe nicht binden soll. Setzen Sie den Wert des Attributs isBindable auf 'false'.

missingSpecialRegValueId(IDs)
Ein Warnungstoken. Die SQL-Anweisungen in der Anweisungsgruppe sind Sonderregisterwertegruppen in der Liste IDs zugeordnet. Die Sonderregisterwertegruppen sind jedoch nicht in der pureQueryXML-Datei definiert.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Das Dienstprogramm Configure fügt außerdem den Bindeoptionen für die Anweisungsgruppe die Option -configureWarning mit dem Wert SPECIAL_REGISTER_VALUE_SET_MISSING hinzu.

Eine mögliche Ursache für die Ausgabe dieser Warnung besteht darin, dass die Definition für die Sonderregisterwertegruppe aus der Datei gelöscht wurde.

Die Definition für die Sonderregisterwertegruppe können Sie über eines der folgenden Verfahren wiederherstellen:
  • Wenn die Bearbeitung der Datei und das Entfernen der Definition der Sonderregisterwertegruppe manuell erfolgt ist, nehmen Sie die Änderungen zurück, die zum Entfernen der Definition vorgenommen wurden.
  • Entfernen Sie die Anweisungsgruppe und erfassen Sie die SQL-Anweisungen in der Gruppe erneut.

Wenn Sie die Definition nicht wiederherstellen können, weisen die SQL-Anweisungen möglicherweise bei statischer Ausführung kein ordnungsgemäßes Verhalten auf. Sie können angeben, dass das Dienstprogramm StaticBinder die SQL-Anweisungen in der Gruppe nicht binden soll. Setzen Sie den Wert des Attributs isBindable für die Gruppe auf 'false'.

specialRegValueId(IDs)
Ein Informationstoken. Für die SQL-Anweisungen in der Anweisungsgruppe zeichnete pureQuery Runtime die durch die aufgelisteten IDs angegebenen Sonderregisterwertegruppen auf. Der Wert für IDs kann eine Sonderregister-ID oder mehrere Sonderregister-IDs umfassen. Sind der Anweisungsgruppe mehrere Sonderregisterwertegruppen zugeordnet, trennt das Dienstprogramm Configure die einzelnen IDs jeweils durch ein Komma voneinander ab.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Eine Sonderregister-ID kann eines der folgenden Formate aufweisen:
  • Eine ganze Zahl, die die ID der Sonderregisterwertegruppe angibt.
  • pureQueryXmlFilePath:ID, ein Dateiname und eine ganze Zahl durch einen Doppelpunkt voneinander getrennt.

    Ist das Token im Eintrag defaultOptions aufgelistet, fügt das Dienstprogramm Configure vor der ID den Namen einer pureQueryXML-Datei hinzu. Die Datei enthält die angegebene Sonderregisterwertegruppe.

specialRegValueId(NONE)
Ein Warnungstoken. Die Anweisungsgruppe enthält SQL-Anweisungen, die Sonderregisterinformationen zugeordnet sind, und SQL-Anweisungen, die keinen Sonderregisterinformationen zugeordnet sind.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Das Token tritt nur auf, wenn auch das Token SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) vorhanden ist. Informationen zur Gruppierung der SQL-Anweisungen in verschiedene Anweisungsgruppen finden Sie in den Informationen zum Token SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO).

Wenn Sie die SQL-Anweisungen in dieser Anweisungsgruppe auf der Basis von Sonderregistereinstellungen gruppieren, befinden sich einige der Anweisungen in einer Gruppe mit dem Token SQLGroupedBySpecialRegisters(NO_SRINFO).

SQLID(SQL-Berechtigungs-ID)
Ein Warnungstoken. Der Wert für SQL-Berechtigungs-ID entspricht dem Wert des Sonderregisters CURRENT SQLID in der zugeordneten Sonderregisterwertegruppe. Das Token wird nicht eingefügt, wenn der Wert des Sonderregisters CURRENT SQLID mit dem Wert des Sonderregisters CURRENT SCHEMA übereinstimmt.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Bevor Sie die Bindeoptionen für die Anweisungsgruppe verwenden, führen Sie die folgenden Schritte aus, um sicherzustellen, dass Sie die korrekten Optionen verwenden:
  1. Stellen Sie fest, ob der Wert CURRENT SQLID für die ordnungsgemäße Ausführung der SQL-Anweisungen in der Anweisungsgruppe erforderlich ist.
  2. Erstellen Sie eine Gruppe von Bindeoptionen, die bei der statischen Ausführung der SQL-Anweisungen in der Anweisungsgruppe zu einem ordnungsgemäßen Verhalten führen.

    In manchen Fällen können Sie einige der vom Sonderregister CURRENT SQLID hervorgerufenen Auswirkungen auch mithilfe der Bindeoption OWNER erreichen.

  3. Aktualisieren Sie ggf. den Eintrag für die Anweisungsgruppe in der Optionsdatei so, dass diese Gruppe von Bindeoptionen angegeben wird.

Wenn Sie für die Anweisungsgruppe keine Gruppe von Bindeoptionen erstellen können, können Sie angeben, dass das Dienstprogramm StaticBinder die SQL-Anweisungen in der Gruppe nicht binden soll. Setzen Sie den Wert des Attributs isBindable für die Gruppe auf 'false'.

unrecognizedSpecialRegisters(Sonderregister)
Ein Warnungstoken. Mindestens eine Sonderregistergruppe enthielt mindestens ein Sonderregister, das vom Dienstprogramm Configure nicht erkannt wurde.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Der Wert für Sonderregister kann ein Schlüsselwort oder mehrere Schlüsselwörter umfassen. Wird mehr als ein Schlüsselwort nicht erkannt, trennt das Dienstprogramm Configure die einzelnen Schlüsselwörter jeweils durch ein Komma voneinander ab.

Nicht erkannte Sonderregister können aufgezeichnet werden, wenn die SQL-Anweisungen in der pureQueryXML-Datei mit einer pureQuery Runtime-Version vor der Version des Dienstprogramms Configure erfasst wurden. Nicht erkannte Sonderregister werden möglicherweise erstellt, wenn die manuelle Bearbeitung von Sonderregisterinformationen in der Datei nicht ordnungsgemäß durchgeführt wurde.

Wenn dieses Token auftritt, verwenden Sie eine Version des Dienstprogramms Configure, die dasselbe oder ein höheres Release aufweist, als die Version, mit der die SQL-Anweisungen in der pureQueryXML-Datei erfasst werden. Wurde die manuelle Bearbeitung der pureQueryXML-Datei nicht ordnungsgemäß durchgeführt, müssen die bei der Bearbeitung vorgenommenen Änderungen zurückgenommen werden.

UNTRACKED_SET
Ein Warnungstoken. Die mit der zugeordneten Sonderregisterwertegruppe ausgeführten SQL-Anweisungen wurden ausgeführt, nachdem von der Anwendung eine SQL-Anweisung SET für ein Sonderregister ausgeführt wurde, das von der pureQuery-Clientoptimierung nicht aufgezeichnet wird.

Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.

Bevor Sie die Bindeoptionen für die Anweisungsgruppe verwenden, führen Sie die folgenden Schritte aus, um sicherzustellen, dass Sie die korrekte Option verwenden:
  1. Prüfen Sie die Anwendung und alle erfassten pureQueryXML-Dateien, um zu ermitteln, ob SQL-Anweisungen SET für Sonderregister ausgeführt wurden, die von pureQuery Runtime nicht verfolgt und als nicht sicher erachtet werden. Informationen zu Sonderregisterinformationen, die bei der Erfassung von SQL-Anweisungen aufgezeichnet werden, finden Sie in Änderungen an DB2-Sonderregistern mit pureQuery-Clientoptimierung verfolgen.
  2. Stellen Sie, wenn SQL-Anweisungen SET in der Anweisungsgruppe vorhanden sind, fest, ob sie für die ordnungsgemäße Ausführung der SQL-Anweisungen in der Anweisungsgruppe erforderlich sind.
  3. Erstellen Sie eine Gruppe von Bindeoptionen, die bei der statischen Ausführung der SQL-Anweisungen in der Anweisungsgruppe zu einem ordnungsgemäßen Verhalten führen.
  4. Aktualisieren Sie ggf. den Eintrag für die Anweisungsgruppe in der Optionsdatei so, dass diese Gruppe von Bindeoptionen angegeben wird.

Wenn Sie für die Anweisungsgruppe keine Gruppe von Bindeoptionen erstellen können, können Sie angeben, dass das Dienstprogramm StaticBinder die SQL-Anweisungen in der Gruppe nicht binden soll. Setzen Sie den Wert des Attributs isBindable für die Gruppe auf 'false'.


Feedback