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.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.
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.
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.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)"
# WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
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*)
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*)
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
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.
# -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.
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
Die folgenden Tokens stellen Informationen zu Anweisungsgruppen bereit:
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.
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.
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.
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.
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'.
Das Dienstprogramm Configure fügt außerdem den Bindeoptionen für die Anweisungsgruppe die Option -configureWarning mit dem Wert SPECIAL_REGISTER_GROUPING_INCONSISTENT hinzu.
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'.
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.
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'.
Führen Sie zum Erfassen der Anweisungen und Aufzeichnen der Sonderregisterinformationen die Anwendung erneut mit der aktuellen Version von pureQuery Runtime aus.
Geben Sie zum Aufzeichnen der Sonderregisterinformationen einen Benutzer mit der für den Zugriff auf Sonderregisterinformationen erforderlichen Berechtigung an.
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'.
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.
Informationen zur Gruppierung von SQL-Anweisungen finden Sie in den Erläuterungen zur Option -groupSQLByStrings des Dienstprogramms Configure.
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.
# 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.
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'.
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.
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'.
Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.
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.
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).
Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.
In manchen Fällen können Sie einige der vom Sonderregister CURRENT SQLID hervorgerufenen Auswirkungen auch mithilfe der Bindeoption OWNER erreichen.
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'.
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.
Das Token kann in einem Kommentar für eine nach Sonderregistereinstellungen zusammengefasste Gruppe oder in einem Kommentar für die defaultOptions-Zeile auftreten.
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'.