IBM Support

IZ15129: SQLGETPOSITION() FAILS WITH DBCLOB DATATYPE IN UNICODE Z/OS DATABASE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CLI function SQLGetPosition() fails if it is used with a
    DBCLOB value against a UNICODE DB2 on z/OS.
    
    The CLI driver generates a query against pseudo table
    SYSIBM.SYSDUMMY1. In UNICODE environment the table
    SYSIBM.SYSDUMMYU should be used instead.
    
    CLI trace shows:
    
    SQLGetPosition( hStmt=1:11, fCType=SQL_C_DBCLOB_LOCATOR,
    iLocator=-1365742725, iPatternLocator=0, pszPatternLiteral=,
    cbPatternLiteral=14, iStartSearchAt=1,
    piLocatedAt=&0ffffffffffff348, piIndicato
    rValue=&0ffffffffffff258 )
        ---> Time elapsed - +2.700000E-005 seconds
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 132 )
        sqlccsend( ) rc - 0, time elasped - +1.800000E-005
        sqlccrecv( timeout - +0.000000E+000 )
        sqlccrecv( ulBytes - 67 ) - rc - 0, time elapsed -
    +1.060000E-003
    ( Row=1, iPar=2, fCType=SQL_C_LONG, rgbValue=17 )
        Elapsed Server Processing Time - +1.780000E-004
    ( StmtOut="SELECT (POSSTR(CAST(? AS DBCLOB(17)),CAST(? AS
    VARGRAPHIC(7)))) FROM SYSIBM.SYSDUMMY1 FOR FETCH ONLY" )
    ( Package="SYSLH100          ", Section=4 )
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
    ( Row=1, iPar=2, fCType=SQL_C_DBCHAR, rgbValue=<NULL data>,
    pcbValue=14, piIndicatorPtr=14 )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 621 )
        sqlccsend( ) rc - 0, time elasped - +1.900000E-005
        sqlccrecv( timeout - +0.000000E+000 )
    ...
    SQLGetPosition( )
        <--- SQL_ERROR   Time elapsed - +1.134900E-002 seconds
    ...
    SQLGetDiagFieldW( pDiagInfo="[IBM][CLI Driver][DB2] SQL0969N
    There is no message text corresponding to SQL error "-189" in
    the message file on this workstation.
    The error was returned from module
    "DSNXOCF " with original tokens "65534".  SQLSTATE=22522
    ", pcbDiagInfo=452 )
        <--- SQL_SUCCESS   Time elapsed - +3.777000E-003 seconds
    

Local fix

Problem summary

  • Users Affected: ALL
    
    Problem Description:
    
    CLI function SQLGetPosition() fails if it is used with a
    DBCLOB value against a UNICODE DB2 on z/OS.
    
    The CLI driver generates a query against pseudo table
    SYSIBM.SYSDUMMY1. In UNICODE environment the table
    SYSIBM.SYSDUMMYU should be used instead.
    
    CLI trace shows:
    
    SQLGetPosition( hStmt=1:11, fCType=SQL_C_DBCLOB_LOCATOR,
    iLocator=-1365742725, iPatternLocator=0, pszPatternLiteral=,
    cbPatternLiteral=14, iStartSearchAt=1,
    piLocatedAt=&0ffffffffffff348, piIndicato
    rValue=&0ffffffffffff258 )
        ---> Time elapsed - +2.700000E-005 seconds
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 132 )
        sqlccsend( ) rc - 0, time elasped - +1.800000E-005
        sqlccrecv( timeout - +0.000000E+000 )
        sqlccrecv( ulBytes - 67 ) - rc - 0, time elapsed -
    +1.060000E-003
    ( Row=1, iPar=2, fCType=SQL_C_LONG, rgbValue=17 )
        Elapsed Server Processing Time - +1.780000E-004
    ( StmtOut="SELECT (POSSTR(CAST(? AS DBCLOB(17)),CAST(? AS
    VARGRAPHIC(7)))) FROM SYSIBM.SYSDUMMY1 FOR FETCH ONLY" )
    ( Package="SYSLH100          ", Section=4 )
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
    ( Row=1, iPar=2, fCType=SQL_C_DBCHAR, rgbValue=<NULL data>,
    pcbValue=14, piIndicatorPtr=14 )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 621 )
        sqlccsend( ) rc - 0, time elasped - +1.900000E-005
        sqlccrecv( timeout - +0.000000E+000 )
    ...
    SQLGetPosition( )
        <--- SQL_ERROR   Time elapsed - +1.134900E-002 seconds
    ...
    SQLGetDiagFieldW( pDiagInfo="[IBM][CLI Driver][DB2] SQL0969N
    There is no message text corresponding to SQL error "-189" in
    the message file on this workstation.
    The error was returned from module
    "DSNXOCF " with original tokens "65534".  SQLSTATE=22522
    ", pcbDiagInfo=452 )
        <--- SQL_SUCCESS   Time elapsed - +3.777000E-003 seconds
    
    
    
    Problem Summary:
    
    CLI function SQLGetPosition() fails if it is used with a
    DBCLOB value against a UNICODE DB2 on z/OS.
    
    The CLI driver generates a query against pseudo table
    SYSIBM.SYSDUMMY1. In UNICODE environment the table
    SYSIBM.SYSDUMMYU should be used instead.
    
    CLI trace shows:
    
    SQLGetPosition( hStmt=1:11, fCType=SQL_C_DBCLOB_LOCATOR,
    iLocator=-1365742725, iPatternLocator=0, pszPatternLiteral=,
    cbPatternLiteral=14, iStartSearchAt=1,
    piLocatedAt=&0ffffffffffff348, piIndicato
    rValue=&0ffffffffffff258 )
        ---> Time elapsed - +2.700000E-005 seconds
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 132 )
        sqlccsend( ) rc - 0, time elasped - +1.800000E-005
        sqlccrecv( timeout - +0.000000E+000 )
        sqlccrecv( ulBytes - 67 ) - rc - 0, time elapsed -
    +1.060000E-003
    ( Row=1, iPar=2, fCType=SQL_C_LONG, rgbValue=17 )
        Elapsed Server Processing Time - +1.780000E-004
    ( StmtOut="SELECT (POSSTR(CAST(? AS DBCLOB(17)),CAST(? AS
    VARGRAPHIC(7)))) FROM SYSIBM.SYSDUMMY1 FOR FETCH ONLY" )
    ( Package="SYSLH100          ", Section=4 )
    ( Row=1, iPar=1, fCType=SQL_C_DBCLOB_LOCATOR, rgbValue=AE986B7B
    )
    ( Row=1, iPar=2, fCType=SQL_C_DBCHAR, rgbValue=<NULL data>,
    pcbValue=14, piIndicatorPtr=14 )
        sqlccsend( Handle - 0000004564709504 )
        sqlccsend( ulBytes - 621 )
        sqlccsend( ) rc - 0, time elasped - +1.900000E-005
        sqlccrecv( timeout - +0.000000E+000 )
    ...
    SQLGetPosition( )
        <--- SQL_ERROR   Time elapsed - +1.134900E-002 seconds
    ...
    SQLGetDiagFieldW( pDiagInfo="[IBM][CLI Driver][DB2] SQL0969N
    There is no message text corresponding to SQL error "-189" in
    the message file on this workstation.
    The error was returned from module
    "DSNXOCF " with original tokens "65534".  SQLSTATE=22522
    ", pcbDiagInfo=452 )
        <--- SQL_SUCCESS   Time elapsed - +3.777000E-003 seconds
    

Problem conclusion

  • First fixed in DB2 UDB Version 9.5, FixPak 2 (build s080811)
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ15129

  • Reported component name

    DB2 CEE AIX

  • Reported component ID

    5765F3000

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-02-08

  • Closed date

    2008-08-27

  • Last modified date

    2008-08-27

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

    IZ15121

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

Fix information

  • Fixed component name

    DB2 CEE AIX

  • Fixed component ID

    5765F3000

Applicable component levels

  • R810 PSN

       UP

  • R820 PSN

       UP

  • R910 PSN

       UP

  • R950 PSN

       UP

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950"}]

Document Information

Modified date:
04 October 2021