IBM Support

Unable to Make a DRDA Connection Due to Missing QSQCLIPKGx

Troubleshooting


Problem

A DRDA connection attempt may result in error message:
SQL0805 (State 51002), SQL package QSQCLIPKGx in QGPL not found.

Or " vendor code(-805) "

Environment

Applications that might encounter this error are:

  • IBM Developer kit for Java JDBC driver (native JDBC)
  • SQL CLI
  • Using 3-part naming convention (Catalog.Schema.Table) in SQL Statements that are executed via the Database host server (ZDA).

These applications would all be accessing a Relational Database Name (Catalog) defined in WRKRDBDIRE.

Resolving The Problem


Create the packages by calling the DB2PackageCreator class on the Application Server (AS) or "Target" system. The DB2PackageCreator application will attempt to create the required packages.

NOTE: These commands can not be just copied and pasted. Italicized parameters must be replaced.

Example for *LOCAL:

===> ADDRDBDIRE RDB(localRDB LCLALIAS) RMTLOCNAME(loopback *IP) 

===> JAVA CLASS(com.ibm.db2.jdbc.app.DB2PackageCreator) PARM('LCLALIAS' 'userid' 'pwd')

Example for IASP's:

===> ADDRDBDIRE RDB(yourIASP IASPALIAS) RMTLOCNAME(LOOPBACK *IP)

===> JAVA CLASS(com.ibm.db2.jdbc.app.DB2PackageCreator) PARM('IASPALIAS' 'userid' 'pwd')

Parameters needing replacement:

yourIASP = RDB name of the IASP as found in WRKRDBDIRE.
localRDB = RDB name of the *LOCAL RDB entry as found in WRKRDBDIRE.
userid = A valid user profile on the system. The user must have sufficient authority to create the package.
pwd = Valid password for the userid being used.

If the package creator is successful, the message Java program completed is returned.
If the package creator fails, verify that the userid used on the package creator command has the authority required to create the package.

The WRKOBJ command can be used to verify that the package has been created. For example:

WRKOBJ OBJ(QGPL/QSQCL*) OBJTYPE(*SQLPKG)

The output should be:
Opt  Object      Type      Library     Attribute   Text
      QSQCLIPKGA  *SQLPKG   QGPL        PACKAGE        
      QSQCLIPKGC  *SQLPKG   QGPL        PACKAGE        
      QSQCLIPKGL  *SQLPKG   QGPL        PACKAGE        
      QSQCLIPKGN  *SQLPKG   QGPL        PACKAGE        
      QSQCLIPKGS  *SQLPKG   QGPL        PACKAGE        

 

NOTE:  For heterogeneous connections (non-IBM i Application Server), the name of the packages created with the package creator tool is:

"QSQCLIPx"

...where x is the commit level:
N - No commit
L - Commit *RR
S - Commit *CS
A - Commit *ALL
C - Commit *CHG

So:

QSQCLIPN - COMMIT *NONE
QSQCLIPL - COMMIT *RR
QSQCLIPS - COMMIT *CS
QSQCLIPA  -  COMMIT *ALL
QSQCLIPC - COMMIT *CHG

List packages on the AS with:

select name as name from sysibm.syspackage where name like 'QS%'

[{"Product":{"code":"SWG60","label":"IBM i"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Data Access","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Historical Number

22131337

Document Information

Modified date:
18 December 2019

UID

nas8N1017528