Syntax for entries in an options file for the StaticBinder utility for client optimization

This syntax diagram shows the options that you can set for each pureQueryXML file that you list in an options file.
Read syntax diagramSkip visual syntax diagram
                                                  (1)   
>>-+-pureQueryXML-file-----------------------+--=--------------->
   '-pureQueryXML-file--:--base-package-name-'          

>--+---------------------------------------------------------------------------------------------------------------------+-->
   |  (2)   (3)                                                                                                          |   
   '------------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'   
                                                     '-:--port-'                                                             

>--+---------------------------------------------+-------------->
   '-+-----------------------------------------+-'   
     '-+- -bindOptions-- -"--bind-options--"-+-'     
       |                  (4)                |       
       '-| DBRM options |--------------------'       

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

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

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

Notes:
  1. You can specify the options in any order.
  2. If you do not specify the URL, user ID, and password when you use the -bindOptions option, you must specify them either on the command line or in the defaultOptions entry.
  3. You do not need to use the -url, -username- and -password options if you are creating DBRM files only.
  4. For the syntax, see the description of these options.
  5. For the syntax, see the description of this option.

Descriptions of options

-bindOptions "string-of-bind-options"
These options have the same function as DB2® precompile and bind options with the same names. The syntax of the string is "option_1 value_1 option_2 value_2".

For a list and descriptions of these options, see BIND command.

If you use the CONCURRENTACCESSRESOLUTION bind option in DB2 Version 9.7 for Linux®, UNIX®, and Windows®, the option applies to all of the statements that are in packages that are bound at the CS and RR isolation levels. This option, which applies only to these two isolation levels, lets applications find the last committed value in rows that are locked by other applications.
DBRM options
Use these options to generate DBRM files, rather than create packages. These options apply only if you are using DB2 for z/OS®.

After the StaticBinder utility generates the DBRM files, you must copy the files to a data set. The default DBRM data set name is prefix.DBRMLIB.DATA, where prefix is the high-level qualifier that is specified in the TSO profile for the user. prefix is usually your user ID in TSO.

If the DBRM data set does not already exist, you must create it. The DBRM data set requires space to hold all the SQL statements, with additional space for each host variable name and some header information. The header information requires approximately two records for each DBRM, 20 bytes for each SQL record, and 6 bytes for each host variable. For an exact format of the DBRM, see the DBRM mapping macro, DSNXDBRM in library prefix.SDSNMACS.

The following syntax diagram describes the options for generating DBRM files.

Read syntax diagramSkip visual syntax diagram
                   .-FALSE-.                           
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><

-generateDBRM TRUE|FALSE
Specifies whether to generate DBRM files instead of create packages. If generateDBRM is TRUE, then by default the StaticBinder utility generates four DBRM files, one for each isolation level: CS, RR, RS, UR. However, you can generate only one DBRM file if you specify the -isolationLevel option.

The root name of the generated DBRM files is the root package name that you specify when you run the Configure utility.

The default is FALSE.

-outputDBRMPath path
Specifies the directory in which to save the generated DBRM files. The default value is the directory from which you run the StaticBinder utility.
-differenceOnlyTRUE|FALSE
Specifies not to replace DB2 packages that have collection names, package names, and consistency tokens that match these values for the corresponding statement sets within the pureQueryXML file that you run the StaticBinder utility on.

For example, suppose that you run the StaticBinder utility on a pureQueryXML file named capture.pdqxml. The utility creates the packages MYPKGA, MYPKGB, and MYPKGC. You then modify the statement set MYPKGA in capture.pdqxml and run the Configure utility on this file, with the -cleanConfigure option at its default value of FALSE. The Configure utility assigns a new consistency token to the statement set because the set has changed. When you run the StaticBinder utility on capture.pdqxml again to bind the new version of MYPKGA, you specify -differenceOnly TRUE. The utility rebinds only MYPKGA and does not rebind the other two packages.

The default value is FALSE.
-grant "grantees(firstID,secondID,...)"
Specifies the list (in parentheses) of comma-separated grantees to whom you want to grant the EXECUTE privilege on packages that the StaticBinder utility creates. If you do not specify this option, the StaticBinder utility does not grant this privilege.
Read syntax diagramSkip visual syntax diagram
                             .-,--------------------.          
                             V                      |          
>>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "---><
                               '-PUBLIC-----------'            

grantees
The comma-separated list of authorization IDs to which you want to grant the EXECUTE privilege. Ensure that the authorization IDs that you list are valid for the DB2 database that you are using.

For DB2 Database for Linux, UNIX, and Windows: You can use the USER, GROUP, and ROLE keywords. For information about these keywords, see GRANT (Package Privileges) statement.

For DB2 for z/OS: You can use the ROLE keyword. For information about this keyword, see GRANT (package privileges).

Restrictions:

  • You cannot use the -grant option when the value of the -generateDBRM option is TRUE.
  • In an options file, you can use the -grant option either in the defaultOptions line or for one or more individual entries in the file. You cannot use -grant in both locations in a single options file.
-isolationLevel CS|RR|RS|UR
Specifies that you want to generate a single DB2 package or DBRM file that is for a particular isolation level, rather than one DB2 package or DBRM file for each of the four isolation levels.

The isolation level applies to all of the SQL statements that are in the package. If you set an isolation level through the Connection.setTransactionIsolation() method of the IBM® Data Server Driver for JDBC and SQLJ, pureQuery ignores that isolation level for statements executed statically.

UR
Specifies Uncommitted Read as the isolation level.
The StaticBinder utility adds 1 to the name of the created package or DBRM file, unless you used the -forceSingleIsolationLevel option when you ran the Configure utility.
CS
Specifies Cursor Stability as the isolation level.
The StaticBinder utility adds 2 to the name of the created package or DBRM file, unless you used the -forceSingleIsolationLevel option when you ran the Configure utility.
RS
Specifies Read Stability as the isolation level. Read Stability ensures that the execution of SQL statements in the package is isolated from other application processes for rows that are read and changed by the application.
The StaticBinder utility adds 3 to the name of the created package or DBRM file, unless you used the -forceSingleIsolationLevel option when you ran the Configure utility.
RR
Specifies Repeatable Read as the isolation level.
The StaticBinder utility adds 4 to the name of the created package or DBRM file, unless you used the -forceSingleIsolationLevel option when you ran the Configure utility.
-password password
The password to use to connect to the data source.
pureQueryXML-file
Specifies the pureQueryXML file that contains the sets of SQL statements that you want to bind as packages. For example, C:\directory\captureFile.pdqxml .
This file must have the extension .pdqxml or .xml. The file must either be a resource in the classpath for the application or you must provide the full or relative path to the file.
pureQueryXML-file:base-package-name
Specifies the pureQueryXML file and a single set of SQL statements within that file that you want to bind as a package. For example, C:\directory\captureFile.pdqxml:MYPKGA .

The file must have the extension .pdqxml or .xml. The file must either be a resource in the classpath for the application or you must provide the full or relative path to the file.

The base name of the package is the value of the name attribute of the package element that describes the package in the pureQueryXML file. The base name consists of two parts:
  • The root package name
  • Any characters that the Configure utility appended to the root package name because of the value of the sqlLimit option when the Configure utility last processed the pureQueryXML file
-showDetails TRUE|FALSE
Specifies whether the StaticBinder utility displays summary information regarding the DB2 packages that it produces and the SQL statements that are in the pureQueryXML files that it processes.
The default value is false.
-url connection-URL
The Type 4 JDBC URL for connecting to the database.
-username user ID
The user ID to use to connect to the data source.
-validateXml TRUE|FALSE
Specifies whether XML schema validation is performed on the input pureQueryXML files using the pureQueryXML schema. If the value is TRUE, validation is performed. If the value is FALSE or if the option is not specified, validation is not performed. The default value is FALSE.

Success or failure of XML schema validation is determined and reported for each input file. If one input file fails, the StaticBinder processing does not stop, subsequent files will be processed.

If a pureQueryXML file fails schema validation, the packages within that file will not be bound. The first schema validation error and the bind failure for the file are reported.

Only current release or previous version pureQueryXML files are validated (version 4 or 3). If an earlier version pureQueryXML is detected, validation is not performed on that file.


Feedback