Unsupported DDM commands

The DDM commands BNDCPY, BNDDPLY, DRPPKG and DSCRDBTBL are not supported by Db2® Version 9.5 for Linux®, UNIX, and Windows when it is acting as a DRDA application server (DRDA AS).

Symptoms

If a DRDA application requester (DRDA AR) connects to Db2 Version 9.5 for Linux, UNIX, and Windows and issues any of the following commands, the command will fail:
Table 1. Unsupported DDM commands
DDM command DDM code point Description
BNDCPY X'2011' Copy an existing relational database (RDB) package
BNDDPLY X'2016' Deploy an existing RDB package
DRPPKG X'2007' Drop a package
DSCRDBTBL X'2012' Describe an RDB table
In addition, the following code points, used in the SQLDTA descriptor for parameter-wise (or column-wise) array input, are also not supported:
Table 2. Unsupported FD:OCA data objects
FD:OCA data objects DDM code point Description
FDOEXT X'147B' Formatted Data Object Content Architecture (FD:OCA) Data Extents
FDOOFF X'147D' FD:OCA Data Offsets

The most common error message in this situation is SQL30020N ("Execution failed because of a Distributed Protocol Error that will affect the successful execution of subsequent commands and SQL statements").

Causes

Distributed Data Management Architecture (DDM) is part of the DRDA protocol. The DDM commands BNDCPY, BNDDPLY, DRPPKG and DSCRDBTBL exist in all of the DRDA levels that are supported by Db2 Version 9.5 for Linux, UNIX, and Windows but the DRDA application server does not support these DDM commands.

Likewise, a Db2 Version 9.5 for Linux, UNIX, and Windows DRDA application server does not support the FDOEXT and FDOOFF code points. These code points are used in the SQLDTA descriptor that is sent to server when you submit a column-wise array input request.

Diagnosing the problem

If you obtain a Db2 trace on the DRDA application server, you will see a message similar to the following in response to these commands:ERROR MSG = Parser: Command Not Supported.

Resolving the problem

There are currently no supported alternatives for the BNDCPY and BNDDPLY DDM commands.

To drop a package, use the SQL statement DROP PACKAGE. For example, connect to the Db2 Version 9.5 for Linux, UNIX, and Windows DRDA application server and send a DROP PACKAGE statement in an EXECUTE IMMEDIATE request. Db2 Version 9.5 for Linux, UNIX, and Windows will process that request successfully.

To describe an RDB table, use one of the following DDM commands: DSCSQLSTT (Describe SQL Statement) or PRPSQLSTT (Prepare SQL Statement). For example, if you want a description of the table TAB1, describe or prepare the following statement: SELECT * FROM TAB1.
Note: When the DRDA AR issues the PRPSQLSTT command, it is necessary to also specify the instance variable RTNSQLDA with a value of TRUE, otherwise the SQLDA Reply Data (SQLDARD) descriptor will not be returned by the server.

To avoid problems with the FDOEXT and FDOOFF code points, use row-wise array input requests instead of parameter-wise (or column-wise) array input requests.