IBM Support

IC95427: CLI0143E ON SQLBINDPARAMETER FOR TIMESTAMP or TIMESTAMP WITH TIMEZONE TYPE WITH CBCOLDEF=-1

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After upgrading the client from v9.1 or v9.5 to version v9.7 or
    v10.1 a CLI application can report CLI0143E during execution of
    the API SQLBindParameter for the type TIMESTAMP or TIMESTAMP
    WITH
    TIMEZONE TYPE WITH if a value for
    cbColDef is  -1.
    
    
    Here is reproduction testscript (inout for db2cli.exe executable
    located under <instpath>\BIN:
    
    Test case for TIMESTAMP
    opt calldiag on
    opt echo on
    quickc 1 1 sample
    
    SQLAllocStmt 1 1
    
    getmem 1 1  SQL_C_TYPE_TIMESTAMP
    getmem 1 2  SQL_C_TYPE_TIMESTAMP
    
    updatemem 1 SQL_C_TIMESTAMP value 2004 05 18 12 31 57 000000000
    updatemem 2 SQL_C_TIMESTAMP NULL_VALUE
    
    SQLBindParameter 1 1 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP 16 0 1
    SQLBindParameter 1 2 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP -1 0 2
    
    Last statement in the script is failing with error:
    
    > SQLBindParameter 1 2 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP -1 0 2
    
    SQLBindParameter 1 2 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP -1 0 2
    SQLBindParameter: rc = -1 (SQL_ERROR)
    SQLError: rc = 0 (SQL_SUCCESS)
    SQLGetDiagRec: SQLState     : S1104
              fNativeError : -99999
              szErrorMsg   : [IBM][CLI Driver] CLI0143E  Invalid
    precision value. SQLSTATE=S1104
              cbErrorMsg   : 67
    >
    
    Test case for TIMESTAMP WITHTIMEZONE TYPE WITH
    opt calldiag on
    opt echo on
    #quickc 1 1 CLIDBU
    quickc 1 1 ec203 newton C0rndaw9
    
    SQLAllocStmt 1 1
    sqlexecdirect 1 "create table BLAH.TAB_DT2 (c1 timestamp,c2
    timestamp(12), c3 timestamp with time zone)" -3
    #sqlprepare 1 "insert into BLAH.TAB_DT2 values(?,?,?,?,?)" -3
    
    getmem 1 1  SQL_C_TYPE_TIMESTAMP
    getmem 1 2  SQL_C_TYPE_TIMESTAMP
    getmem 1 3 SQL_C_TYPE_TIMESTAMP_EXT_TZ
    
    updatemem 1 SQL_C_TIMESTAMP value 2013 02 18 12 31 57 000000000
    updatemem 2 SQL_C_TIMESTAMP NULL_VALUE
     updatemem 3 SQL_C_TYPE_TIMESTAMP_EXT_TZ value 2000 01 01 11 12
    13 123456789 0 +08 30
    
    SQLBindParameter 1 1 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP 16 0 1
    SQLBindParameter 1 2 SQL_PARAM_INPUT SQL_C_TIMESTAMP
    SQL_TYPE_TIMESTAMP 10 0 2
    sqlbindparameter 1 3 sql_param_input SQL_C_TYPE_TIMESTAMP_EXT_TZ
    SQL_TYPE_TIMESTAMP_WITH_TIMEZONE -1 0 3
    
    sqlprepare 1 "insert into BLAH.TAB_DT2 values(?,?,?)" -3
    sqlexecute 1
    sqlexecdirect 1 "select * from BLAH.TAB_DT2" -3
    fetchall 1
    sqltransact 1 1 sql_rollback
    sqlfreestmt 1 sql_close
    sqlfreestmt 1 sql_drop
    
    killenv 1
    
    
    The same testcript completes without error when using v9.1 and
    v9.5 client.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All DB2 CLI Users                                            *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * upgrade to v10.5.3 and later                                 *
    ****************************************************************
    

Problem conclusion

  • Fixed in v10.5.3 and later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC95427

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    A50

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-08-27

  • Closed date

    2014-09-09

  • Last modified date

    2014-09-09

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

    IC90562

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • RA50 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPGG","label":"DB2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
09 September 2014