(1) >>-java--com.ibm.pdq.tools.StaticBinder-------------------------> (2) >-------- -url--jdbc--:--db2--:--//--Server--+---------+--/--Datenbank--> '-:--Port-' >-- -username--Benutzer-ID-- -password--Kennwort----------------> .-------------------------------------------. V | >-- -pureQueryXml----+-pureQueryXML-Datei--------------------+-+--> '-pureQueryXML-Datei--:--Basispaketname-' >--+-------------------------------------------------------------------------+--> | (3) | +-| DBRM-Optionen |-------------------------------------------------------+ +- -bindOptions-- -"--Bindeoptionen--"--+-------------------------------+-+ | '- -verifyPackages--+-DETAIL--+-' | | '-SUMMARY-' | '- -verifyPackages--+-DETAIL--+-------------------------------------------' '-SUMMARY-' >--+-----------------------------------------------+------------> | .-----------------------. | | V | | '- -configureWarning---- -configure-Warnungen-+-' >--+-----------------------------+--+----------------+----------> | .-FALSE-. | | (4) | '- -differenceOnly--+-TRUE--+-' '-| -grant |-----' >--+--------------------------+--+--------------------------+---> '- -isolationLevel--+-CS-+-' | .-FALSE-. | +-RR-+ '- -showDetails--+-TRUE--+-' +-RS-+ '-UR-' >--+-----------------------+--+--------------------------+------> | (5) | | .-FALSE-. | '-| Traceoptionen |-----' '- -validateXml--+-TRUE--+-' >--+--------+-------------------------------------------------->< '- -help-'
Der Wert für die jeweilige Option darf keine Leerzeichen enthalten.
Eine Liste sowie eine Beschreibung dieser Optionen finden Sie in BIND command.
Wenn Sie die Option -optionsFileForBind des Dienstprogramms Configure angeben, generiert das Dienstprogramm Configure eine StaticBinder-Optionsdatei. Die Optionsdatei enthält die Bindeoptionen sowie zusätzliche Informationen, die auf den SQL-Anweisungen, Anweisungsgruppen und DB2-Sonderregisterinformationen in der pureQueryXML-Datei basieren. Wenn das Dienstprogramm Configure ein mögliches Problem erkennt, fügt es den Bindeoptionen die Option -configureWarning hinzu. Wenn Sie beim Binden von Paketen für die Datenbank die angegebenen Bindeoptionen verwenden und die SQL-Anweisungen statisch ausführen, ist das resultierende Verhalten möglicherweise fehlerhaft.
Außerdem fügt das Dienstprogramm Configure einer Kommentarzeile der Anweisungsgruppe ein Warnungstoken hinzu. Die Kommentare können Warnungen und Informationen enthalten, die sich auf die Anweisungsgruppe und die in der Gruppe enthaltene SQL-Anweisung beziehen. Informationen zum Beheben der Ursache für die Warnungen finden Sie in den Informationen zu den Tokens, die in der vom Dienstprogramm Configure erstellten Bindeoptionsdatei zusammen mit den Warnungen generiert werden.Wenn Sie die Option -configureWarning beim Ausführen des Dienstprogramms StaticBinder angeben, versucht dieses Programm, die zugeordneten Pakete zu binden. Darüber hinaus gibt das Dienstprogramm StaticBinder eine Warnung mit näheren Informationen zum betreffenden Problem aus.
Für die Option -configureWarning sind die folgenden Werte zulässig:
Außerdem fügt das Dienstprogramm Configure einer Kommentarzeile für die Anweisungsgruppe das Token incrementalSpecialRegValuesPresent hinzu.
Außerdem fügt das Dienstprogramm Configure einer Kommentarzeile der Anweisungsgruppe das Token missingSpecialRegValueId(IDs) hinzu.
Außerdem fügt das Dienstprogramm Configure einer Kommentarzeile der Anweisungsgruppe das Token SQLGroupedBySpecialRegisters(MULTI_SRINFO) hinzu.
Außerdem fügt das Dienstprogramm Configure einer Kommentarzeile der Anweisungsgruppe das Token SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) hinzu.
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.
.-FALSE-. >>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--Pfad-----------><
Der Stammname der generierten DBRM-Dateien ist der Stammpaketname, den Sie angeben, wenn Sie das Dienstprogramm Configure ausführen.
Der Standardwert ist FALSE.
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.
.-,--------------------. V | >>- -grant-- "--grantees--(----+-Berechtigungs-ID-+-+--) - "--->< '-PUBLIC-----------'
Für DB2 Database für Linux, UNIX und Windows: Sie können die Schlüsselwörter USER, GROUP und ROLE verwenden. Informationen zu diesen Schlüsselwörtern finden Sie in GRANT (Package Privileges) statement.
Für DB2 für z/OS: Sie können das Schlüsselwort ROLE verwenden. Informationen zu diesem Schlüsselwort finden Sie in GRANT (package privileges).
Einschränkung: Sie können die Option -grant nicht verwenden, wenn die Option -generateDBRM den Wert TRUE hat.
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.
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.
>>-+------------------------+--+---------------------------+--->< '- -traceFile--Dateiname-' | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
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.
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.