IC92430: CLI/ .NET APPLICATION GETTING -420 ERROR WHEN IT TRIES TO INSERT SPACE VALUE TO A SMALLINT COLUMN IN DB2 Z/OS V10 NFM.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as fixed if next.

Error description

  • CLI/ .NET application getting -420 error when it tries to
    insert space value to a smallint column in DB2 Z/OS V10 NFM, but
    works fine against DB2 Z/OS  ENFM.
    
    The CLI driver converts from space to small int value 0 (SQLDA
    DATA = 0000 008000) when server is ENFM and -301 is received
    first and then it re-describes and converts it to 0. In v10
    NFM,DB2 starts to support implicit cast from varchar to small
    int,but space is not a valid numeric character so it throws
    -420directly. CLI is not retrying for -420 errors
    
    Retry is on by default and retry can have a performance impact
    on applications because CLI does describe as part of retry which
    will cause additional network flow to the server. Currently cli
    application users do not have a way to know whether retry is
    happening. So it would be good to log retry information to
    db2diag.log when retry happens which will enable the application
    user to correct their bindings in order to avoid retry.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Z/oS 10 NFM users who have wrong application binding while   *
    * trying to insert blank space value to a smallint column.     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Prior to server supporting implicit casting feature, DB2     *
    * client used to receive SQLCODE SQL0301N from the server.It   *
    * is found                                                     *
    *  that for some instances, implicit cast algorithm of data    *
    * server is not exactly same as what CLI client uses. Due to   *
    *  this, certain conversion, like blank space/empty string to  *
    * numeric conversion, CLI allows it to be a valid data;        *
    *  whereas data server treats it as an invalid. Data server in *
    * such case would return SQL0420N saying "Invalid character    *
    *  found in a character string argument". As CLI retry logic   *
    * do not capture SQL0420N error, such data ends up breaking    *
    *                                                              *
    *  existing applications once customer upgrades their data     *
    * servers.                                                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 V10.5 Fix Pack 2. User will need to set the   *
    * keyword "RetryParameterBindingOnError" to "420" in           *
    * db2cli.ini or                                                *
    * db2dsdriver.cfg. Upon configuring this keyword, CLI will do  *
    * retry for -420 error. If user sets diaglevel to 4,           *
    * db2diag.log will be updated with the retry information when  *
    * retry happens. Application users can look into db2diag.log   *
    * and correct their application binding to avoid retry also."  *
    *                                                              *
    *                                                              *
    * For z/OS 10 and above, cli will do retry for -420 error by   *
    * default. Application user need not set                       *
    * RetryParameterBindingOnError=420 explicitly.                 *
    ****************************************************************
    

Problem conclusion

Temporary fix

  • Disable implicit casting feature at server.
    

Comments

APAR Information

  • APAR number

    IC92430

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    950

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-05-21

  • Closed date

    2013-07-01

  • Last modified date

    2013-08-23

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

  • RA50 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

DB2 for Linux, UNIX and Windows

Software version:

9.5

Reference #:

IC92430

Modified date:

2013-08-23

Translate my page

Machine Translation

Content navigation