IBM Support

IC74034: DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ VERSION 3.62.39/4.12.38 FOR DB2 LUW V9.7 FIXPACK 4

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • ============================================================
    All Connectivity: A proprietary method is provided
    on com.ibm.db2.jcc.DB2Struct to retrieve the
    
    metadata information of the underlying ROW data.
    
    DB2Struct
    
    /**
      * Retrieve the metadata of this Struct object.
      *
      * @return  the description of this Struct object.
      * @throws SQLException
      *  if a database access error occurs or
      *  this method is called on a closed result set
      */
    java.sql.ResultSetMetaData getMetaData()
      throws SQLException;
    (wsdbu00693474 wsdbu00694927)
    ____________________________________________________________
    All Connectivity: The following proprietary methods
    is provided:
    DB2ResultSetMetaData
    
    /**
    * Indicates whether the designated column is a
    * temporal column,
    * including ROW BEGIN (1), ROW END (2), and
    * TRANSACTION START ID (3).
    *
    * @returns -1 if not a temporal related column,
    *        1 if it is a ROW BEGIN column,
    *        2 if it is a ROW END column, and
    *        3 if it is a TRANSACTION START ID column.
    *
    * @throws java.sql.SQLException
    *
    * @since JCC 3.62/4.12
    *
    */
    public int getDBTemporalColumnType (int column)
      throws java.sql.SQLException;
    
    In addition, the standard isAutoIncrement method of
    ResultSetMetaData will return true for temporal
    columns.(wsdbu00690647 wsdbu00690653)
    ____________________________________________________________
    All Connectivity: Previously, the special characters
    carriage returns (#x0d), line feeds (#x0a), and
    tabs (#x09) are not escaped during serialization
    process from binary XML, now these characters are
    escaped. (wsdbu00796615 wsdbu00689711)
    ____________________________________________________________
    T4 Connectivity:Starting from JCC 3.62/4.12,
    type 4 connectivity will process the correlation
    tokens returned from DB2 for z/OS v10 using
    Unicode and IPv6 format when both are supported.
    (wsdbu00688943 wsdbu00688953)
    ____________________________________________________________
    T4 Connectivity: When Statement.cancel() is called
    (this could be called by the application explicitly
    or implicitly), if multithreading is involved, a
    NullPointerException might occur. This problem is fixed.
    (wsdbu00686193 wsdbu00686196)
    ____________________________________________________________
    All Connectivity: For processing Instruction tag for
    binary xml, if the value is empty, Jcc has an extra
    space. For example, if the tag is <?p9?> or <?p10?>,
    Jcc put an extra space in the tag so the tag is
    <?p9 ?> or <?p10 ?>. This problem is fixed.
    (wsdbu00685454 wsdbu00685463)
    ____________________________________________________________
    T4 Connectivity: when enableSysplexWLB sets to
    true, when executing a sql statement, the driver
    may issue Exception "A DRDA Data Stream Syntax
    Error was detected. Reason: 0xcbcb. ERRORCODE=-4499,
    SQLSTATE=58009". The problem has been fixed.
    (wsdbu00685475 wsdbu00685480)
    ____________________________________________________________
    T4 Connectivity Type: the invocation of the license
    stored procedure is enabled against DB2 for
    LUW. The invocation occurs even when license jar
    exists.  No exception will be thrown even when the
    invocation fails.
    (wsdbu00687816 wsdbu00688023)
    ____________________________________________________________
    SQLJ ALL  Connectivity Type:
    SQLJ added a new JCC Global property  called
    db2.jcc.sqljToolsExitJVMOnCompletion.
    This is a Boolean property. The default  value for this property
    is true
    i.e. all sqlj tools like db2sqlbinder and db2sqljcustomize
    will call System.exit() upon completion. Setting this
    to false means that sqlj Tools do not call
    System.exit.
    (wsdbu00685247 wsdbu00693130)
    ____________________________________________________________
    SQLJ T4 Connectivity Type: Specifying pkgVersion
    AUTO during SQLJ Customization will create
    packages with version of the form:
    YYYY-MM-DD.HH.MM.SS.nnnn
    This has changed from the current
    AUTO generated package version
    String  which generates 3  fractional
    digits  for the seconds.
    (146461, wsdbu00687385 )
    ____________________________________________________________
    SQLJ T4 Connectivity Type: Specifying pkgVersion
    AUTO during SQLJ Customization will create
    packages with version of the form:
    YYYY-MM-DD.HH.MM.SS.nnnn
    This has changed from the current
    AUTO generated package version
    String  which generates 3  fractional
    digits  for the seconds.
    (146461, wsdbu00687385  )
    ____________________________________________________________
    All Connectivity Types: An application can start JCC
    tracing without adding any code in its application nor
    having to stop the application by using JCC trace
    directives: db2.jcc.tracePolling
    db2.jcc.tracePollingInterval. JCC traces PreparedStatement
    when an application does
    java.sql.Connection.prepareStatement(SQL) but if the
    preparedStatement has been created, and the tracing is
    dynamically turned on after the creation, then there is no
    way to get that  statement creation information in the
    trace. This feature extends this dynamic trace capability
    by dumping properties, result metadata and parameter
    metadata for those PreparedStatements which were prepared
    while the trace was off as JCC detects the trace is being
    turned on.(wsdbu00690865)
    ____________________________________________________________
    All Connectivity Types: Using java.math.BigDecimal to map
    data of type DECFLOAT is recommended for applications
    seeking higher precision. However, This can be a problem if
    applications also want to retrieve special values: NaN,
    Infinity and -Infinity which are not supported by
    java.math.BigDecimal. Any such attempt would get a generic
    conversion error (SqlCode -4220) from JCC driver. The
    feature introduces a new SqlCode (-4231), which is returned
    when an application makes a call to
    java.sql.ResultSet.getBigDecimal(..) method to fetch these
    special values, thus a subsequent call to
    java.sql.ResultSet's getDouble(..) method may be used to
    fetch the special values.(wsdbu00689678)
    ____________________________________________________________
    Type-4 Connectivity: The type 4 driver does not set all
    java.sql.BatchUpdateException's update counts to -3
    ( java.sql.Statement.EXECUTE_FAILED) although at least
    one of the atomic batch Multi-row insert operations
    fails. The fix alters the behavior by setting all values
    in the update counts to -3 if any of the atomic batch
    Multi-row insert operations fails.(wsdbu00687778)
    ____________________________________________________________
    T4 Connectivity: The type 4 driver does not set all
    java.sql.BatchUpdateException's update counts to -3
    ( java.sql.Statement.EXECUTE_FAILED) although at least
    one of the atomic batch Multi-row insert operations
    fails. The fix alters the behavior by setting all values
    in the update counts to -3 if any of the atomic batch
    Multi-row insert operations fails.(146369,wsdbu00687778)
    ____________________________________________________________
    All Connectivities: As part of DB2 for LUW v9.7 FP4, the
    server allows BOOLEAN as parameters for stored
    procedures executed via the clients.  Corresponding support
    for the same is provided in the driver. (wsdbu00686741)
    ____________________________________________________________
    All Connectivities:  Starting DB2 for LUW v9.7 FP4, the
    server allows ROW type and ARRAY of ROW type as parameters
    for stored procedures executed via the clients. The
    driver provides the corresponding support
    for the same. (wsdbu00685890 wsdbu00689359)
    ____________________________________________________________
    All Connectivities:  When autogenerated keys are defined on
    the table on which triggers are defined, attempting to query
    the autogenerated keys was raising the SQLCODE -723 from the
    DB2 server.  To fix this issue, JCC introduces a new
    boolean property useIdentityValLocalForAutoGeneratedKeys.
    The default is false.
    A value of true indicates that the driver must use the
    Database IDENTITY_VAL_LOCAL() function to determine the
    auto-generated keys values.
    A value of false indicates that the driver may exploit
    alternative Database supported methods, such as SELECT FROM
    INSERT to determine the auto-generated key values.
    (wsdbu00686072)
    ____________________________________________________________
    Type-4 Connectivity: When enableSysplexWLB
    property or enableConnectionConcentrator property
    is set to "true", the JCC driver is making
    twice the number of client reroute connection
    attempts that are configured by
    maxRetriesForClientReroute. (wsdbu00692907)
    ____________________________________________________________
    Type-4 Connectivity: Under sysplexWLB environment
    when JCC driver is retrying the sysplex members,
    an out of memory error is thrown because driver
    cannot get a successful database connection to
    either one or more surviving members. (wsdbu00692909)
    ____________________________________________________________
    Type-4 XA Connectivity: Under sysplexWLB environment,
    an XAER_PROTO error might be thrown when JCC driver
    is retrying the sysplex members on a failover attempt.
    (wsdbu00692912)
    ____________________________________________________________
    Type-4 XA Connectivity: A NullPointerException might
    be thrown along with an XAER_RMFAIL error when
    calling DB2XADataSource.getConnection() method in a
    multi-threaded application. The problem has been fixed.
    (wsdbu00690834)
    ____________________________________________________________
    Type-4 XA Connectivity: A SQLException with
    SQLCODE911 (-911) was thrown when TMLCS
    (loosely coupled flag) is used with the XA Start
    method against DB2 LUW. The problem is fixed.
    (wsdbu00690521)
    ____________________________________________________________
    All Connectivities: A new command line diagnostic utility is
    introduced to test and verify a successful connection  between
    the client application and DB2 using the current
    installation/setup.
    This utility tests connection to the specified url that you
    configure for
    database access and verifies the connection by either executing
    the
    sql specified or executing the sql "SELECT * FROM
    SYSIBM.SYSDUMMY1" and also verifies the execution of a
    java.sql.DatabaseMetadata API call on that connection.  For more
    
    details about this utility refer to the jcc documentation.
    (wsdbu00692578)
    ____________________________________________________________
    T4 Connectivity Type:  Added a new message to jcc tracing to
    indicate the java.io.IOException on a socket.read() operation.
    (wsdbu00687063)
    ____________________________________________________________
    Type-4 Connectivity: After an HADR takeover, driver
    successfully re-routes some applications correctly
    to the new HADR primary database, but for other
    applications driver keeps trying to re-connect to the
    old primary database (which is now the standby database)
    over and over and does not try to connect to the new
    primary server at all.  This problem has been corrected.
    (wsdbu00699542)
    ____________________________________________________________
    T2 LUW Connectivity Type: The RSS size for
    db2fmp (stored procedure) process on the DB2
    side grows about 2000 bytes every 3 minutes if
    an application calls a stored procedure several
    times. This problem has been fixed. (wsdbu00701244)
    ____________________________________________________________
    All Connectivity: Jcc now throws an exception during
    getConnection if invalid value is set for the property
    InterruptProcessingMode. (wsdbu00698211)
    ____________________________________________________________
    Type-4 Connectivity: Under sysplexWLB environment,
    JCC driver did not clean up the socket when DB2
    server abended or returned the zero length response
    to the JCC driver. Also with this fix, if JCC driver
    get fatal errors from DB2 on some transactions which
    should not be retried, then driver will throw a
    disconnect  exception rather than retrying the
    failed transaction. (wsdbu00699769)
    ____________________________________________________________
    All Connectivity Types: JCC trace may have duplicate
    TRACE_DIAGNOSTICS blocks when either exception
     with error code SQLCODE952 (-952) or
    SQLCODE911 (-911) is encountered. (wsdbu00701777)
    ____________________________________________________________
    Type-2 LUW Connectivity: Once a Java table UDF failed due
    to a lock timeout, any subsequent requests which use that
    Java table UDF can not be executed and get a
    NullPointerException even after all locks have been
    released. (wsdbu00699747)
    ____________________________________________________________
    SQLJ ALL  Connectivity Types:
    When using a .grp (group) file for
    SQLJ Customization and Bind, the output
    will display the list of ser files(included
    in the group file)  one per line
    instead of one long String. (wsdbu00686698)
    ____________________________________________________________
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of the IBM Data Server Driver for JDBC and SQLJ        *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 LUW V9.7 Fixpack 4                            *
    ****************************************************************
    

Problem conclusion

  • Problems fixed in DB2 LUW V9.7 Fixpack 4
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC74034

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-01-21

  • Closed date

    2011-05-25

  • Last modified date

    2011-05-25

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

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

Fix information

  • Fixed component name

    DB2 CONNECT

  • Fixed component ID

    DB2CONNCT

Applicable component levels

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC74034

Modified date: 25 May 2011