DB2 Bind Issue

Recently, I noticed this problem when running a commerce script to enable JCA for web services. This can happen any time a script accesses DB2 system tables and the corresponding schema binding information is lost or compromised. Problems like these are noticeable when you are working with a copy of a database that is restored from a back up. I would not associate this problem to any particular commerce version. This is more like a DB2 issue than a commerce issue.

Here are the details:

Problem:
When a DB2 binding issue prevents you from running a commerce script, you will see an error that looks something like this:
“[IBM][CLI Driver][DB2/NT] SQL0443N Routine “SYSIBM.SQLCOLUMNS” (specific name “COLUMNS”) has returned an error SQLSTATE with diagnostic text  “SYSIBM:CLI:-805″. SQLSTATE=38553

Solution:
You must rebind the db2schema.bnd file.  Here is how you can do it:

  1. Open DB2 Command Window. Note that you have to run these commands from the machine that has db2 server installed on it. You cannot complete these steps from a client machine. If you have DB2 and Commerce on different boxes, you typically have a db2 client installed on the commerce box. You have to run these commands from the db2 server box.
  2. Change directories to {DB2_INSTALL_FOLDER}/bnd folder. This is typically SQLLIB/bnd folder.
  3. You have to run the following three commands in the specified order:
       db2 bind @db2ubind.lst
       db2 bind @db2cli.lst blocking all grant public
       db2 bind db2schema.bnd blocking all grant public
  4. Notice that third command does not have @ in front of the file name. You will have errors if you put @ in front of the file name.

That fixed my problem with running the config_ant script for enabling JCA for web services.

Did you run into a similar problem? Did this solution help you?

Leave a Comment