SQL0805N package NULLID.SQLC2H20 was not found

This topic covers what happens when a SQL0805N package NULLID.SQLC2H20 was not found error occurs.

Problem

After installing Db2 Connect Enterprise Edition and connecting to a database on iSeries, you attempt to run SQL. However, this fails and the following error message appears:
SQL0805N Package NULLID.SQLC2H20 not found. SQLSTATE=51002

The following can occur on Db2® Client or Db2 Connect and selecting from a connected database on zSeries, iSeries or other host system.

Cause

The utility packages for Db2 have not been bound to the connected database.

Diagnosis

There are two actions you may perform to diagnose the problem when receiving this error message:
  1. Check if the package exists using one of the following queries to verify if the database contains the SQLC2H20 package:
    • If the connected database is on Db2, run the following:
      select pkgname from syscat.packages where pkgname like 'SQLC2H20'
    • If the connected database is on Db2 zSeries or iSeries, run the following:
      select * from sysibm.SYSPACKAGE where pkgname like 'SQLC2H20'
  2. Check the name of the package in the bind file using the ddcspkgn command:
    ddcspkgn db2clpcs.bnd

Resolution

Resolving the problem requires you to run the bind command against the database that you are attempting to connect to. This will install the package in the database so it is available. Because several of the utilities supplied with Db2 Connect are developed using embedded SQL, they must be bound to an IBM mainframe database server before they can be used with that system.

Package SQLC2H20 is shipped in the bind file db2clpcs.bnd for Db2 Connect products on any supported platform. The db2clpcs.bnd file is also available from any Db2 product. All bind files are contained in the bnd directory located under the Db2 instance.

It is suggested that you bind the package using the utility list file for the host system you are connecting to. The db2clpcs.bnd bind file is contained in each of the following list files:
  • db2ubind.lst for Linux, UNIX, and Windows
  • ddcsmvs.lst for System z®, zSeries, os/390
  • ddcsvse.lst for VSE
  • ddcsvm.lst for VM
  • ddcs400.lst for IBM Power Systems™, iSeries
Here is an example of how to bind the utilities from a UNIX client to an iSeries database named SAMPLE using the following commands:
cd  /home/db2inst1/sqllib/bnd
db2 connect to SAMPLE
db2 bind @ddcs400.lst blocking all sqlerror continue grant public