DRDA-AS connections over TCP/IP or APPC are treated like any other connection to the DB2 server to ensure consistency in the way the maximum number of concurrent connections to a server is measured, from both DRDA and non-DRDA clients.
When using APPC, a DRDA-AR connects to the Application Server by specifying the Transaction Program Name (TPN) for the server. The TPN can correspond to the tpname parameter value in the instance's database manager configuration file. The TPN used by the DRDA-AS can also be the service transaction program X'07'6DB. When using this TPN, each separate instance of the DRDA-AS must specify a different local LU name.The local LU name is configured by the SPM-NAME parameter in the server's database manager configuration file.
If you choose APPC as your communication protocol, the communications subsystem may restrict the types of database manager configuration authentication settings you can use at the DB2 Universal Database server. Not all communications subsystems expose the application requester's password to the application server when security (program) is used. When this is the case, the database manager configuration authentication must not be set to SERVER.
The following communications subsystems have this restriction:
To overcome the restriction that prevents you from using authentication SERVER, you can set the database manager authentication to DCS. This allows DRDA APPC connections that have been authenticated by the communication subsystem to succeed. However, with this setting the DB2 Universal Database will act as if authentication SERVER is being used for all other types of connections.
The DB2 DRDA Trace utility (db2drdat) is provided for tracing the DRDA data flow between an Application Requester and the DB2 Application Server. For more information on setting up this trace, refer to the Troubleshooting Guide.
DRDA functions are categorized as required or optional. Table 22 identifies which functions are implemented in the AS on the DB2
Universal Database server. The subsequent table lists the supported
bind options.
Table 22. Supported DRDA Functions
Description | Required (R) Optional (O) | Supported | Not Supported |
DRDA level 1 required function | R | X* |
|
Rebind | O | X |
|
Describe user privileges | O |
| X |
Describe RDB table | O |
| X |
Interrupt RDB request | O |
| X |
Note: | * Certain required functions are not supported. |
Table 23. Bind Options Supported by the DB2 DRDA Application Server
Bind Option | Value | Sup- ported | Not Sup- ported | DB2 for MVS/ESA Precompile Option (Note 1) | DB2/VM Preprocessing Option | OS/400 Precompile Option | DB2 Prep or Bind Option | ||
---|---|---|---|---|---|---|---|---|---|
Package Version Name | Null | X |
| VERSION |
|
| VERSION | ||
| Any other value |
| X |
|
|
|
| ||
Bind Existence Checking | Object existence optional |
| X | VALIDATE (RUN)b | NOEXIST | GENLVL(10, 11-40) | VALIDATE RUN | ||
| Object existence required | X |
| VALIDATE (BIND)b | EXIST | GENLVL(00-09) | VALIDATE BIND | ||
Package Replacement Option | Replacement allowed | X |
| ACTION (REPLACE) | REPLACE | REPLACE(*YES) | ACTION REPLACE | ||
| Replacement not allowed |
| X | ACTION(ADD) | NEW | REPLACE(*NO) | ACTION ADD | ||
Package Authorization Option | Keep authorizations | X |
|
| KEEP |
| RETAIN YES | ||
| Revoke authorizations |
| X |
| REVOKE |
| RETAIN NO | ||
Statement String Delimiter (Note 2) | Apostrophe | X |
| APOSTSQL | SQLAPOST | OPTION([...] *APOSTSQL) (Note 3) | STRDEL APOSTROPHE | ||
| Double quote |
| X | QUOTESQL | SQLQUOTE | OPTION([...] *QUOTESQL) (Note 4) | STRDEL QUOTE | ||
Statement Decimal Delimiter (Note 5) | Period | X |
| PERIOD | PERIOD | OPTION([...] *PERIOD) or OPTION([...] *SYSVAL) (Note 6) | DECDEL PERIOD | ||
| Comma |
| X | COMMA | COMMA | OPTION([...] *COMMA) or OPTION([...] *SYSVAL) (Note 6) | DECDEL COMMA | ||
Date Format (Note 7) | ISO | X |
| DATE(ISO) (Note 8) | DATE(ISO) | DATFMT(*ISO) (Note 8) | DATETIME ISO (Note 9) | ||
| USA | X |
| DATE(USA) | DATE(USA) | DATFMT(*USA) | DATETIME USA | ||
| EUR | X |
| DATE(EUR) | DATE(EUR) | DATFMT(*EUR) | DATETIME EUR | ||
| JIS | X |
| DATE(JIS) | DATE(JIS) | DATFMT(*JIS) | DATETIME JIS | ||
Time Format (Note 7) | ISO | X |
| TIME(ISO) (Note 8) | TIME(ISO) | TIMFMT(*ISO) (Note 8) | DATETIME ISO (Note 9) | ||
| USA | X |
| TIME(USA) | TIME(USA) | TIMFMT(*USA) | DATETIME USA | ||
| EUR | X |
| TIME(EUR) | TIME(EUR) | TIMFMT(*EUR) | DATETIME EUR | ||
| JIS | X |
| TIME(JIS) | TIME(JIS) | TIMFMT(*JIS) | DATETIME JIS | ||
Package Isolation Level (Note 10) | Repeatable read | X |
| ISOLATION(RR)b | ISOLATION(RR) |
| ISOLATION RR | ||
| Read Stability (All) | X |
|
| ISOLATION(RS) | COMMIT(*ALL) | ISOLATION RS | ||
| Cursor stability | X |
| ISOLATION(CS)b | ISOLATION(CS) | COMMIT(*CS) | ISOLATION CS | ||
| Uncommitted Read (Change) | X |
|
| ISOLATION(UR) | COMMIT(*CHG) | ISOLATION UR | ||
| No commit |
| X (Note 11) |
|
| COMMIT(*NONE) | ISOLATION NC | ||
Bind Creation Control | No errors allowed | X |
| SQLERROR (NOPACKAGE)b | NOCHECK | OPTION([...] *GEN) GENLVL(00-09, 10, 11-20) | SQLERROR NOPACKAGE | ||
| Check only | X |
|
| CHECK | OPTION([...] *NOGEN) | SQLERROR CHECK | ||
| Errors allowed |
| X | SQLERROR (CONTINUE)b | ERROR | OPTION([...] *GEN) GENLVL(21-40) | SQLERROR CONTINUE | ||
Bind Explain Option | No SQL statements | X |
| EXPLAIN(NO)b | EXPLAIN(NO) |
| EXPLAIN NO | ||
| All explainable SQL statements |
| X | EXPLAIN(YES)b | EXPLAIN(YES) |
| EXPLAIN YES | ||
Package Owner Identifier | <Authorization ID> | X |
| OWNERb | OWNER |
| OWNER | ||
| Any other value |
| X |
|
|
|
| ||
RDB Release Option | Release at commit | X |
| RELEASE (COMMIT)b | RELEASE (COMMIT) |
| RELEASE COMMIT | ||
| Release at conversation deallocation |
| X | RELEASE (DEALLOCATE)b | RELEASE (DEALLOCATE) |
| RELEASE DEALLOCATE | ||
Default RDB Collection ID | <Authorization ID> | X |
| QUALIFIERb | QUALIFIER | DFTRDBCOL | QUALIFIER | ||
| Any other value |
| X |
|
|
|
| ||
Title (Package Description) | Any value (ignored by DB2) | X |
|
| LABEL | TEXT | TEXT | ||
Query Block Protocol Control | Fixed row | X |
| CURRENTDATA (YES)b | SBLOCK | ALWBLK(*READ) | BLOCKING UNAMBIG | ||
| Limited block | X |
| CURRENTDATA (NO)b | BLOCK | ALWBLK (*ALLREAD) | BLOCKING ALL | ||
| Forced fixed row | X |
|
| NOBLOCK | ALWBLK(*NONE) | BLOCKING NO | ||
Package Default Char. Subtype |
|
|
|
|
|
|
| ||
| Use system default | X |
|
|
|
| CHARSUB DEFAULT | ||
If Default CCSID is SBCS | BIT |
| X |
| CHARSUB(BIT) |
| CHARSUB BIT | ||
If Default CCSID is SBCS | SBCS | X |
|
| CHARSUB(SBCS) |
| CHARSUB SBCS | ||
If Default CCSID is SBCS | MBCS |
| X |
| CHARSUB(MBCS) |
| CHARSUB MBCS | ||
If Default CCSID is MBCS | BIT |
| X |
| CHARSUB(BIT) |
| CHARSUB BIT | ||
If Default CCSID is MBCS | SBCS |
| X |
| CHARSUB(SBCS) |
| CHARSUB SBCS | ||
If Default CCSID is MBCS | MBCS | X |
|
| CHARSUB(MBCS) |
| CHARSUB MBCS | ||
| Any other value |
| X |
|
|
|
| ||
Package Default CCSID | Value specified when DB2 database was created | X |
|
| CCSIDSBCS() CCSIDGRAPHIC() CCSIDMIXED() |
| CCSIDS CCSIDG CCSIDM | ||
| Any other value |
| X |
|
|
|
| ||
Decimal Precision (Note 12) | 31 | X |
| DEC(31) |
|
| DEC 31 | ||
| Any other value |
| X | DEC(15) |
|
| DEC 15 | ||
Replaced Package Version Name | Null | X |
| REPLVERb |
|
| REPLVER | ||
| Any other value |
| X |
|
|
|
| ||
|
Additional steps are needed to ensure the following DB2 for VM utilities work properly against a DB2 database through the Application Server.
Note: | The sqldbsu and isql utilities are in INSTHOME/sqllib/misc where INSTHOME is the home directory of the instance owner. |
If you installed DB2 on drive C, using the default directory sqllib, then no special setup is required for RXSQL; refer to the SQL/DS Procedures Language Interface Installation manual for details.
Under CPIC, DB2 system security (authentication CLIENT, SERVER, or DCS) must be used with CPIC security SAME or PROGRAM. When these combinations are used, the user ID and password sent in the AR's APPC ALLOCATE is used to CONNECT to the requested database. CPIC security level NONE is allowed only with DCE authentication. In this case, the encrypted dce ticket is flown as part of the CONNECT attempt.
Under TCP/IP, all security information is flown in the CONNECT attempt.
User ID translation is not supported by this AS.
You configure the Application Server using regular DB2 database manager configuration parameters and specifically DRDA Heap Size. You may need to change the setting for some parameters because of the additional resources required for the Application Server.
DRDA heap size specifies the amount of memory, in pages, that is allocated for use by the Application Server.
Refer to the Administration Guide for more information about database manager configuration.