Syntax für Standardoptionen in einer Optionsdatei für das Dienstprogramm StaticBinder für die Clientoptimierung

Dieses Syntaxdiagramm zeigt die Standardoptionen, die Sie für alle pureQueryXML-Dateien festlegen können, die Sie in einer Optionsdatei auflisten.
Syntaxdiagramm lesenSyntaxdiagramm überspringen
                     (1)   
>>-defaultOptions--=-------------------------------------------->

>--+--------------------------------------------------------------------------------------------------------------------------+-->
   |  (2)   (3)                                                                                                               |   
   '------------- -url--jdbc--:--db2--:--//--Server--+---------+--/--Datenbank-- -username--Benutzer-ID-- -password--Kennwort-'   
                                                     '-:--Port-'                                                                  

>--+------------------------------------------+----------------->
   '-+- -bindOptions-- -"--Bindeoptionen--"-+-'   
     |                   (4)                |     
     '-| DBRM-Optionen |--------------------'     

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (5) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+--------------------------+--->
   '- -isolationLevel--+-CS-+-'  |                .-FALSE-. |   
                       +-RR-+    '- -showDetails--+-TRUE--+-'   
                       +-RS-+                                   
                       '-UR-'                                   

                         .-NOT_SET------.   
>-- -statementBindError--+-REMOVE-------+----------------------->
                         '-MARK_INVALID-'   

>--+-----------------------+--+--------------------------+-----><
   |                   (6) |  |                .-FALSE-. |   
   '-| Traceoptionen |-----'  '- -validateXml--+-TRUE--+-'   

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Wenn Sie die Option -bindOptions verwenden und URL, Benutzer-ID und Kennwort nicht angegeben haben, müssen Sie diese Angaben in der Befehlszeile oder in Einträgen für einzelne pureQueryXML-Dateien machen.
  3. Sie brauchen die Optionen -url, -username- und -password nicht zu verwenden, wenn Sie nur DBRM-Dateien erstellen.
  4. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.
  5. Informationen zur Syntax finden Sie in der Beschreibung dieser Option.
  6. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Beschreibungen der Optionen

-bindOptions "Zeichenfolge_mit_Bindeoptionen"
Diese Optionen haben dieselbe Funktion wie DB2-Vorkompilierungs- und Bindeoptionen mit denselben Namen. Die Zeichenfolge kann eines der folgenden Formate aufweisen:
  • "Option_1 Wert_1 Option_2 Wert_2"
  • "Option_1(Wert_1) Option_2(Wert_2)"

Der Wert für die jeweilige Option darf keine Leerzeichen enthalten.

Eine Liste sowie eine Beschreibung dieser Optionen finden Sie in BIND (Befehl).

Wenn Sie die Bindeoption CONCURRENTACCESSRESOLUTION in DB2 Version 9.7 for Linux, UNIX, and Windows verwenden, gilt die Option für alle Anweisungen, die sich in Paketen befinden, die an die Isolationsstufen CS und RR gebunden sind. Diese Option, die nur für diese beiden Isolationsstufen gilt, ermöglicht Anwendungen, den zuletzt festgeschriebenen Wert in Zeilen zu finden, die von anderen Anwendungen gesperrt sind.
DBRM-Optionen
Mit dieser Option können Sie DBRM-Dateien generieren, anstatt Pakete zu erstellen. Diese Optionen gelten nur, wenn Sie DB2 for z/OS verwenden.

Nachdem das Dienstprogramm StaticBinder die DBRM-Dateien generiert hat, müssen Sie die Dateien in einen Datensatz kopieren. Der Standardname des DBRM-Datensatzes lautet Präfix.DBRMLIB.DATA. Dabei steht Präfix für das übergeordnete Qualifikationsmerkmal, das im TSO-Profil für den Benutzer angegeben ist. Präfix ist in der Regel Ihre Benutzer-ID in TSO.

Wenn der DBRM-Datensatz noch nicht vorhanden ist, müssen Sie ihn erstellen. Der DBRM-Datensatz benötigt Speicherplatz, um alle SQL-Anweisungen zu speichern, wobei zusätzlicher Speicherplatz für jeden Hostvariablennamen und für Headerdaten erforderlich ist. Die Headerdaten benötigen etwa zwei Datensätze für jedes DBRM (Database Request Module - Datenbankanforderungsmodul), 20 Byte für jeden SQL-Datensatz und 6 Byte für jede Hostvariable. Ein exaktes Format des DBRM finden Sie im DBRM-Zuordnungsmakro DSNXDBRM in der Bibliothek Präfix.SDSNMACS.

Im folgenden Syntaxdiagramm werden die Optionen für das Generieren von DBRM-Dateien beschrieben.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                   .-FALSE-.                           
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--Pfad-----------><

-generateDBRM TRUE|FALSE
Gibt an, ob DBRM-Dateien generiert werden sollen, anstatt Pakete zu erstellen. Wenn generateDBRM auf TRUE gesetzt ist, generiert das Dienstprogramm StaticBinder standardmäßig vier DBRM-Dateien, jeweils eine pro Isolationsstufe: CS, RR, RS, UR. Sie können jedoch nur eine DBRM-Datei generieren, wenn Sie die Option -isolationLevel angeben.

Der Stammname der generierten DBRM-Dateien ist der Stammpaketname, den Sie angeben, wenn Sie das Dienstprogramm Configure ausführen.

Der Standardwert ist FALSE.

-outputDBRMPath Pfad
Gibt das Verzeichnis an, in dem die generierten DBRM-Dateien gespeichert werden sollen. Der Standardwert ist das Verzeichnis, aus dem Sie das Dienstprogramm StaticBinder ausführen.
-differenceOnlyTRUE|FALSE
Gibt an, dass DB2-Pakete nicht ersetzt werden sollen, die Objektgruppennamen, Paketnamen und Konsistenztokens aufweisen, die mit diesen Werten für die entsprechenden Anweisungsgruppen innerhalb der pureQueryXML-Datei übereinstimmen, für die Sie das Dienstprogramm StaticBinder ausführen.

Beispiel: Sie führen das Dienstprogramm StaticBinder für eine pureQueryXML-Datei mit den Namen capture.pdqxml aus. Das Dienstprogramm erstellt die Pakete MYPKGA, MYPKGB und MYPKGC. Sie bearbeiten anschließend die Anweisungsgruppe MYPKGA in capture.pdqxml mithilfe der Workbench und führen für die Datei das Dienstprogramm Configure aus, wobei für die Option -cleanConfigure der Standardwert FALSE festgelegt ist. Das Dienstprogramm Configure ordnet der Anweisungsgruppe ein neues Konsistenztoken zu, weil die Gruppe geändert wurde. Wenn Sie das Dienstprogramm StaticBinder für capture.pdqxml erneut ausführen, um die neue Version von MYPKGA zu binden, geben Sie für -differenceOnly den Wert TRUE an. Das Dienstprogramm bindet nur MYPKGA und bindet die übrigen zwei Pakete nicht erneut.

Der Standardwert ist FALSE.
-grant "grantees(erste_ID,zweite_ID,...)"
Gibt die durch Kommata getrennte Liste der Berechtigten (in Klammern) an, denen Sie das Zugriffsrecht EXECUTE für Pakete erteilen wollen, die das Dienstprogramm StaticBinder erstellt. Wenn Sie diese Option nicht angeben, erteilt das Dienstprogramm StaticBinder dieses Zugriffsrecht nicht.
Syntaxdiagramm lesenSyntaxdiagramm überspringen
                             .-,--------------------.          
                             V                      |          
>>- -grant-- "--grantees--(----+-Berechtigungs-ID-+-+--) - "---><
                               '-PUBLIC-----------'            

grantees
Die durch Kommata getrennte Liste von Berechtigungs-IDs, denen Sie das Zugriffsrecht EXECUTE erteilen wollen. Stellen Sie sicher, dass die Berechtigungs-IDs, die Sie auflisten, für die von Ihnen verwendete DB2-Datenbank gültig sind.

Für DB2 Database for Linux, UNIX, and Windows: Sie können die Schlüsselwörter USER, GROUP und ROLE verwenden. Informationen zu diesen Schlüsselwörtern finden Sie in Anweisung GRANT (Paketzugriffsrechte).

Für DB2 for z/OS: Sie können das Schlüsselwort ROLE verwenden. Informationen zu diesem Schlüsselwort finden Sie in GRANT (Paketzugriffsrechte).

Einschränkung: Sie können die Option -grant nicht verwenden, wenn die Option -generateDBRM den Wert TRUE hat.

-isolationLevel CS | RR | RS | UR
Gibt an, dass Sie ein einzelnes DB2-Paket oder eine einzelne DBRM-Datei für eine bestimmte Isolationsstufe generieren möchten, anstatt ein DB2-Paket oder eine DBRM-Datei für jede der vier Isolationsstufen zu generieren.

Die Isolationsstufe gilt für alle SQL-Anweisungen, die im Paket enthalten sind. Wenn Sie eine Isolationsstufe über die Methode Connection.setTransactionIsolation() von IBM® Data Server Driver für JDBC und SQLJ definieren, ignoriert pureQuery diese Isolationsstufe für statisch ausgeführte Anweisungen.

UR
Gibt Uncommitted Read als Isolationsstufe an.
Das Dienstprogramm StaticBinder fügt dem Namen des erstellten Pakets bzw. der erstellten DBRM-Datei 1 hinzu, sofern Sie bei der Ausführung des Dienstprogramms Configure nicht die Option -forceSingleBindIsolation verwendet haben.
CS
Gibt Cursor Stability als Isolationsstufe an.
Das Dienstprogramm StaticBinder fügt dem Namen des erstellten Pakets bzw. der erstellten DBRM-Datei 2 hinzu, sofern Sie bei der Ausführung des Dienstprogramms Configure nicht die Option -forceSingleBindIsolation verwendet haben.
RS
Gibt Read Stability als Isolationsstufe an. Read Stability stellt sicher, dass die Ausführung von SQL-Anweisungen im Paket von anderen Anwendungsprozessen für Zeilen isoliert ist, die von der Anwendung gelesen und geändert werden.
Das Dienstprogramm StaticBinder fügt dem Namen des erstellten Pakets bzw. der erstellten DBRM-Datei 3 hinzu, sofern Sie bei der Ausführung des Dienstprogramms Configure nicht die Option -forceSingleBindIsolation verwendet haben.
RR
Gibt Repeatable Read als Isolationsstufe an.
Das Dienstprogramm StaticBinder fügt dem Namen des erstellten Pakets bzw. der erstellten DBRM-Datei 4 hinzu, sofern Sie bei der Ausführung des Dienstprogramms Configure nicht die Option -forceSingleBindIsolation verwendet haben.
-password Kennwort
Das Kennwort, das zum Herstellen einer Verbindung zur Datenquelle verwendet werden soll.
-showDetails TRUE|FALSE
Gibt an, ob das Dienstprogramm StaticBinder Detailinformationen zu den von ihm erstellten DB2-Paketen und den SQL-Anweisungen anzeigen soll, die in den von ihm verarbeiteten pureQueryXML-Dateien enthalten sind.
Der Standardwert ist 'FALSE'.
-statementBindError NOT_SET|MARK_INVALID|REMOVE
Gibt an, wie das Dienstprogramm StaticBinder SQL-Anweisungen in der pureQueryXML-Datei handhabt, wenn der Bindeprozess einen SQL-Fehler für die Anweisung zurückgibt. Es gibt keinen Standardwert. Wenn die Option nicht festgelegt ist, listet das Dienstprogramm StaticBinder die SQL-Anweisungen auf, die während des Bindeprozesses einen SQL-Fehler zurückgeben, wenn sie verarbeitet werden. Die folgende Liste beschreibt die unterstützten Werte und wie die SQL-Anweisungen gehandhabt werden:
NOT_SET
Gibt an, dass die SQL-Anweisungen in der pureQueryXML-Datei nicht geändert werden. Dieser Wert ist der Standardwert.
MARK_INVALID
Gibt an, dass die pureQueryXML-Datei aktualisiert wird, um darauf hinzuweisen, dass die SQL-Anweisung ungültig ist, wenn der versuchte Bindeprozess zu einem SQL-Fehler führt. Die SQL-Fehler und die als ungültig markierten SQL-Anweisungen werden angezeigt, nachdem die Bindeoperation für die Anweisungsgruppe, die die Anweisungen enthält, abgeschlossen wurde.

SQL-Anweisungen, die zuvor als ungültig markiert wurden, werden im Bericht nicht aufgeführt.

Sie können SQL-Anweisungen, die als ungültig markiert wurden, mit der Option -restoreInvalidSQLForce von Configure wiederherstellen. Sie können die Anweisungen mit der Option -removeInvalidSQL entfernen.

REMOVE
Gibt an, dass die SQL-Anweisung aus der pureQueryXML-Datei entfernt wird, wenn der versuchte Bindeprozess zu einem SQL-Fehler führt. Die SQL-Fehler und die zu entfernenden SQL-Anweisungen werden angezeigt, nachdem die Bindeoperation für die Anweisungsgruppe, die die Anweisungen enthält, abgeschlossen wurde. SQL-Anweisungen, die zuvor als ungültig markiert wurden, werden ebenfalls entfernt.
Vorsicht:
Wenn Sie diese Option mit dem Wert MARK_INVALID oder REMOVE verwenden, wird Ihre pureQueryXML-Datei möglicherweise geändert. Das Dienstprogramm aktualisiert die Datei so, dass eine SQL-Anweisung als ungültig markiert oder aus der Datei entfernt wird.

Wenn die Option -statementBindError mit dem Wert MARK_INVALID oder REMOVE angegeben wird, muss Schreibberechtigung für die pureQueryXML-Dateien vorliegen. Wenn die Datei nicht vom Dienstprogramm StaticBinder aktualisiert werden kann, wird ein Fehler angezeigt, und die Datei wird nicht verarbeitet.

Folgende Aspekte haben Auswirkungen auf die Fähigkeit des Dienstprogramms StaticBinder, ungültige SQL-Anweisungen zu entdecken:
  • Angabe der StaticBinder-Option -differenceOnly mit dem Wert TRUE. StaticBinder versucht nicht, alle SQL-Anweisungen zu binden. Das Dienstprogramm StaticBinder entdeckt ungültige SQL-Anweisungen in Anweisungen, die es nicht zu binden versucht.
  • Angabe der Bindeoption SQLERROR (CONTINUE) oder VALIDATE (RUN) mit der StaticBinder-Option -bindOptions. Wenn eine der BIND-Optionen angegeben wird, werden DB2-Diagnoseinformationen, die als SQL-Fehler aufgelistet würden, als SQL-Warnungen aufgelistet. Das Dienstprogramm StaticBinder erkennt keine SQL-Anweisungen als ungültige Anweisungen, wenn das Diagnoseprogramm SQL-Warnungen ausgibt.

Die Option -statementBindError wird beim Binden von DAO-Schnittstellenimplementierungsklassen (DAO - Data Access Object) von pureQuery nicht unterstützt. Wenn das Dienstprogramm StaticBinder zum Binden einer Implementierungsklasse ausgeführt wird und die Option mit dem Wert MARK_INVALID oder REMOVE angegeben wird, zeigt es eine Warnung an und versucht nicht, die Klassen zu binden.

Anmerkung: Ungültige SQL-Anweisungen sind Anweisungen, die einen SQL-Fehler während eines versuchten Bindeprozesses zurückgeben. Es können allerdings Änderungen an einem Datenbankobjekt vorgenommen werden, die nicht bewirken, dass SQL-Anweisungen, die auf dieses Objekt zeigen, ungültig werden. Die Änderungen können Auswirkungen auf die Anwendung haben, die die SQL-Anweisung ausführt. Eine Anweisung ist z. B. nicht ungültig, wenn die Typendefinition der Spalte, auf die sie verweist, von VARCHAR(20) in VARCHAR(100) geändert wird.
Traceoptionen
Sie können die Datei, in der Nachrichten protokolliert werden sollen, und die zu protokollierende Informationsebene angeben.
Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-+------------------------+--+---------------------------+---><
   '- -traceFile--Dateiname-'  |               .-OFF-----. |   
                               '- -traceLevel--+-ALL-----+-'   
                                               +-SEVERE--+     
                                               +-WARNING-+     
                                               +-INFO----+     
                                               +-CONFIG--+     
                                               +-FINE----+     
                                               +-FINER---+     
                                               '-FINEST--'     

-traceFile Dateiname
Gibt den absoluten oder relativen Pfad und den Namen der Datei an, die zum Protokollieren von Informationen zur Operation verwendet werden soll.
Falls die Datei bereits vorhanden ist, hängt pureQuery neue Nachrichten an den vorhandenen Inhalt der Datei an. Standardmäßig werden die Einträge in 'System.err' geschrieben.
-traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
Gibt den zu protokollierenden Informationstyp an. Die Standardstufe ist OFF. Wenn Sie keine Datei angeben, in die die Protokolleinträge geschrieben werden sollen, und Sie diese Option auf einen anderen Wert als OFF setzen, werden die Einträge in 'System.err' geschrieben.
-url Verbindungs-URL
Die JDBC-Typ-4-URL für die Verbindung zur Datenbank.
Wenn Sie SQL-Anweisungen binden, die benannte Parametermarken verwenden, müssen Sie bei der Angabe der Verbindung zur Datenquelle die Eigenschaft enableNamedParameterMarkers mit dem Wert 1 angeben. Im folgenden Beispiel stellt die Option -url eine Verbindung zur Datenbank SAMPLE auf testserver.test.com her und gibt die Eigenschaft enableNamedParameterMarkers an:
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
-username Benutzer-ID
Die Benutzer-ID, die zum Herstellen einer Verbindung zur Datenquelle verwendet werden soll.
-validateXml TRUE|FALSE
Gibt an, ob für die pureQueryXML-Eingabedateien eine XML-Schemaprüfung unter Verwendung des pureQueryXML-Schemas ausgeführt wird. Bei Angabe von 'TRUE' wird die Prüfung ausgeführt. Bei Angabe von 'FALSE' oder wenn die Option nicht angegeben ist, wird keine Prüfung ausgeführt.

Das Ergebnis der XML-Schemaprüfung (erfolgreich oder fehlerhaft) wird für jede Eingabedatei ermittelt und aufgelistet. Falls eine der Eingabedateien fehlschlägt, wird die StaticBinder-Verarbeitung nicht gestoppt, sondern mit den nachfolgenden Dateien fortgesetzt.

Schlägt die Schemaprüfung für eine pureQueryXML-Datei fehl, werden die Pakete in dieser Datei nicht gebunden. Der erste Fehler bei der Schemaprüfung und der Bindefehler für die Datei werden zurückgemeldet.

Nur pureQueryXML-Dateien des aktuellen Release oder der vorherigen Version (Version 4 oder 3) werden geprüft. Wird eine frühere Version von pureQueryXML gefunden, wird die Prüfung für diese Datei nicht ausgeführt.


Feedback