Syntax für Ausführung des Dienstprogramms StaticBinder für Clientoptimierung mit einer Optionsdatei

Sie können die Namen der pureQueryXML-Dateien und die Optionen für die Erstellung von DB2-Paketen oder DBRM-Dateien, die auf diesen Dateien basieren, über einen Befehl und eine Optionsdaei angeben. Sie können eine Optionsdatei auch dann verwenden, wenn Sie nur eine pureQueryXML-Datei haben.

Sie können die pureQueryXML-Dateien im Befehl auflisten und nur den Eintrag defaultOptions in der Optionsdatei verwenden.

Sie können pureQueryXML-Dateien im Befehl und in der Optionsdatei auflisten. Wenn eine Datei sowohl im Befehl als auch in der Optionsdatei aufgelistet ist, verarbeitet das Dienstprogramm StaticBinder die Datei. Wenn eine Datei in der Optionsdatei, aber nicht im Befehl aufgelistet ist, verarbeitet das Dienstprogramm StaticBinder die Datei nicht. Wenn eine Datei im Befehl, aber nicht in der Optionsdatei aufgelistet ist, verarbeitet das Dienstprogramm StaticBinder die Datei mit den Optionen in der Befehlszeile und im Eintrag defaultOptions der Optionsdatei.

Wenn Sie das Dienstprogramm StaticBinder über eine Befehlszeile ausführen und eine Optionsdatei verwenden, erkennt das Dienstprogramm die Optionen in folgender Reihenfolge:
  1. Optionen in der Befehlszeile
  2. Optionen für einzelne pureQueryXML-Dateien und Anweisungsgruppen, die in der angegebenen Optionsdatei vorhanden sind
  3. Standardoptionen in der angegebenen Optionsdatei
Syntaxdiagramm lesenSyntaxdiagramm überspringen
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

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

>--+---------------------------------------------------------------+-->
   |                 .-------------------------------------------. |   
   |                 V                                           | |   
   '- -pureQueryXml----+-pureQueryXML-Datei--------------------+-+-'   
                       '-pureQueryXML-Datei--:--Basispaketname-'       

>-- -optionsFile--Dateiname--+-----------------------------+---->
                             |                   .-FALSE-. |   
                             '- -differenceOnly--+-TRUE--+-'   

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

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

>--+-----------------------+------------------------------------>
   |                   (3) |   
   '-| Traceoptionen |-----'   

>--+-------------------------------+---------------------------->
   '- -verifyPackages--+-DETAIL--+-'   
                       '-SUMMARY-'     

>--+--------------------------+--------------------------------><
   |                .-FALSE-. |   
   '- -validateXml--+-TRUE--+-'   

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Wenn Sie URL, Benutzer-ID und Kennwort im Befehl nicht angeben, müssen Sie sie in der Optionsdatei angeben, sofern Sie nicht nur DBRM-Dateien erstellen.
  3. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Beschreibungen der Optionen

-optionsFile Dateiname
Der Name der Datei, einschließlich ihres absoluten oder relativen Pfads, in der die pureQueryXML-Dateien aufgelistet werden, die die zu bindenden SQL-Anweisungen enthalten.
-password Kennwort
Das Kennwort, das zum Herstellen einer Verbindung zur Datenquelle verwendet werden soll.
-pureQueryXml pureQueryXML-Datei|pureQueryXML-Datei:Basispaketname
Gibt die pureQueryXML-Datei an, die die Gruppen von SQL-Anweisungen enthält, die Sie in Pakete binden wollen, oder eine einzelne Gruppe von SQL-Anweisungen, die Sie in ein Paket binden wollen. Sie können mehrere Werte angeben.
pureQueryXML-Datei
Der Name der pureQueryXML-Datei. Beispiel: C:\Verzeichnis\captureFile.pdqxml
Diese Datei muss die Erweiterung .pdqxml oder .xml aufweisen. Die Datei muss entweder eine Ressource im Klassenpfad für Ihre Anwendung sein oder Sie müssen den vollständigen oder relativen Pfad zu der Datei angeben.
pureQueryXML-Datei:Basispaketname
Der Name der pureQueryXML-Datei und der Basisname des zu bindenden Pakets. Beispiel: C:\Verzeichnis\captureFile.pdqxml:MYPKGA.

Die Datei muss die Erweiterung .pdqxml oder .xml haben. Die Datei muss entweder eine Ressource im Klassenpfad für Ihre Anwendung sein oder Sie müssen den vollständigen oder relativen Pfad zu der Datei angeben.

Der Basisname des Pakets ist der Wert des Attributs name des Elements package, das das Paket in der Datei pureQueryXML beschreibt. Der Basisname besteht aus zwei Teilen:
  • Stammpaketname
  • Zeichen, die das Dienstprogramm Configure an den Stammpaketnamen anhängt, wenn mehr als ein Paketname erforderlich ist. Das Dienstprogramm erstellt beispielsweise mehr als einen Paketnamen, wenn die Anzahl der SQL-Anweisungen in einer Anweisungsgruppe den Wert der Option -sqlLimit des Dienstprogramms Configure überschreitet.
Anmerkung: Wenn Sie bei der Konfiguration der pureQueryXML-Datei die Option -forceSingleBindIsolation des Dienstprogramms Configure angegeben haben, hängt das Dienstprogramm StaticBinder keine ganze Zahl an den Paketnamen an. Die ganze Zahl stellt die Isolationsstufe dar, die für alle im Paket enthaltenen SQL-Anweisungen gilt.
Wenn Sie -pureQueryXml in Verbindung mit -optionsFile in einem Befehl verwenden, ist eine Reihe von Ergebnissen möglich. Siehe Optionsdatei verwenden und pureQueryXML-Dateien und Anweisungsgruppen in einem Befehl angeben.
-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.
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.
-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.
-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.
-verifyPackages DETAIL|SUMMARY
Gibt an, ob das Dienstprogramm StaticBinder einen Bericht über die Pakete erstellt, die für die SQL-Anweisungen, die der pureQueryXML-Datei zugeordnet sind, vorhanden oder nicht vorhanden sind. Wenn Sie diese Option verwenden, bindet das Dienstprogramm StaticBinder keine Pakete.

Beispiel: Sie führen das Dienstprogramm Configure für eine pureQueryXML-Datei mit dem Namen myApp.pdqxml aus. Beim Ausführen des Dienstprogramms haben Sie Werte für die Optionen -collection, -pkgVersion und -rootPkgName angegeben und das Dienstprogramm hat diese Werte in der pureQueryXML-Datei gespeichert. Sie führen das Dienstprogramm StaticBinder unter Angabe dieses Dateinamens aus und das Dienstprogramm erstellt DB2-Pakete.

Zu einem späteren Zeitpunkt möchten Sie eine Liste der Pakete anzeigen, die das Dienstprogramm StaticBinder anhand der pureQueryXML-Datei erstellt hat. Beim Ausführen des Dienstprogramms können Sie die Option -verifyPackages mit dem Wert DETAIL verwenden und wiederum den Namen der Datei angeben.

Die Option -verifyPackages funktioniert unter der Voraussetzung, dass Sie, nachdem Sie das Dienstprogramm Configure für eine pureQueryXML-Datei und danach das Dienstprogramm StaticBinder für diese Datei ausgeführt haben, das Dienstprogramm Configure nicht nochmals für die Datei ausgeführt und andere Werte für -collection, -pkgVersion und -rootPkgName angegeben haben.

Wenn Sie das Dienstprogramm Configure für myApp.pdqxml ausführen würden, nachdem Sie zunächst das Dienstprogramm StaticBinder ausgeführt und die Werte für -collection, -pkgName und -rootPkgName geändert haben, würde das Dienstprogramm StaticBinder keine Pakete finden, die mit den neuen Werten für diese Optionen übereinstimmen. Im zugehörigen Bericht des Dienstprogramms StaticBinder würde stehen, dass die gesuchten Pakete nicht vorhanden sind.

Wenn die Werte für die Optionen -collection, -pkgVersion und -rootPkgName dieselben sind wie bei der vorherigen Ausführung des Dienstprogramms StaticBinder, findet das Dienstprogramm die Pakete und listet sie auf.

Sie können diese Option zusammen mit der Option -bindOptions angeben. Das Dienstprogramm StaticBinder bindet jedoch keine Pakete. Verwenden Sie -bindOptions nur dann zum Angeben der Objektgruppe für die Pakete, die Sie verifizieren möchten, wenn Sie diese Option beim Erstellen der Pakete für die Angabe der Objektgruppe verwendet haben.

DETAIL
Erstellt einen Bericht mit den folgenden Informationen auf Basis der Werte von -collection, -pkgVersion und -rootPkgName:
  • Welche Pakete nicht vorhanden sind.
  • Welche Pakete vorhanden sind. Für jedes Paket werden im Bericht der Name, das Konsistenztoken, die Zeitmarke und die Isolationsstufe aufgelistet.
  • Die Anzahl Pakete, die vorhanden bzw. nicht vorhanden sind.
SUMMARY
Erstellt einen Bericht, in dem auf Basis der Werte für -collection, -pkgVersion und -rootPkgNamevon die Pakete aufgezählt werden, die vorhanden bzw. nicht vorhanden sind.
-validateXml TRUE|FALSE
Gibt an, ob XML-Schemaprüfung für die pureQueryXML-Eingabedateien unter Verwendung des pureQueryXML-Schemas ausgeführt wird. Ist der Wert TRUE, wird die Prüfung ausgeführt. Ist der Wert FALSE oder ist die Option nicht angegeben, wird die Prüfung nicht 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