IBM Support



You can track all active APARs for this component.


APAR status

  • Closed as program error.

Error description

  • ============================================================
    Documentation of changes in IBM Data Server Driver for JDBC
    and SQLJ version 3.8.30 for DB2 LUW V9.1 Fixpack 6.  The
    previous version was 3.7.73 for DB2 LUW V9.1 Fixpack 5.
    All Connectivity Types: SQLExceptions or SQLWarnings may be
    generated containing null SQLStates, i.e. getSQLState() may
    return null. This behavior is not contrary to JDBC
    specification. Good programming practice dictates that the
    return from getSQLState() should first be checked for null
    before dereferencing for String comparisons and such.
    However, to accomodate applications written expecting
    non-null SQLState that may be migrating from legacy driver
    implementations where null SQLState was uncommon, a new
    driver global configuration property is provided to support
    db2.jcc.defaultSQLState=XXXXX or
    This property can be configured with or without explicit
    specification of the default SQLState to be returned by the
    driver in cases where it would normally return null.
    If this property is provided with explicit default SQLState
    specified, the specified value will be trimmed or padded as
    needed to be 5 characters in length. This value will be
    returned from getSQLState() method calls only when the
    driver would normally have returned null.
    If this property is provided without explicit default
    SQLState specified, the driver will determine what value to
    use in cases where the getSQLState() method would normally
    return null. Currently this value is "FFFFF".
    This property also applies to driver-specific SQLJ
    SQLJ reference implementation processing is separated from
    product-specific driver processing, and is therefore not
    sensitive to this setting. However, this processing has been
    modified to now return a specific default SQLState ("46000")
    in cases where null would have been previously provided.
    This is a defined SQLJ-specific default.
    This property does not preclude on-going driver evolution to
    provide explicit SQLState in the future where current
    processing may provide null. It simply provides a
    user-configurable ability to override anywhere the driver
    uses null as SQLState. (109828, 110099)
    All Connectivity Types:
    When trying to deregister an XML object on DB2 Linux, Unix,
    Windows server, DB2 Universal driver converted all input to
    upper case, but text in double quotes should not be
    converted. Text in double quotes is now treated as case
    sensitive. (102078)
    Type-2 UW XA Connectivity:
    Client reroute fails after AGNPRMRM if serverName and
    portNumber are not set.  A XAException with XAER_RMFAIL is
    thrown after all internal reroute attempts are made.
    Type-2 UW XA Connectivity:
    SQLException with SQLCODE204 (-204) is thrown if CURRENT
    SCHEMA is set, client reroute occurs, and SQL operates on
    an unqualified object. Even though object exists in the
    specified schema, special registers are not replayed after
    reroute, causing the exception.
    All Connectivity types:
    If java.sql.Statement query timeout is set for a long time,
    a memory leak occurs. (110244)
    All Connectivity types:
    When the database server uses CCSID 420 and the table
    contains hexadecimal values B2, B3, B4, B5, B8, B9,
    retrieving data causes a java.nio.BufferOverflowException.
    All Connectivity Types: If java.sql.Statement query timeout
    is set and a communication error occurs, Statement.cancel
    may cause a NullPointerException. (111858)
    Type-4 Connectivity: When using a trusted connection with
    encryption, JCC may throw a SQLException with message "An
    error occurred during a deferred connect reset and the
    connection has been terminated." (112024)
    SQLJ: SQLCODE502 (-502) may result when a ConnectionContext
    is closed with KEEP_CONNECTION attribute. This may happen
    when the same SQLJ SELECT statement is executed
    multiple times without explicitly closing the Iterator,
    but expecting a ConnectionContext.close(KEEP_CONNECTION)
    to implicitly clean up open resources (as legacy processing
    did, so this could be observed during migration). This
    resource clean up now occurs in this scenario. (108967)
    Type-4 Connectivity: Under the WebSphere Application server
    environment, when multiple DataSources have the
    enableSysplexWLB and enableConnectionConcentrator
    properties enabled but the securityMechanism values are
    different, SQLCODE4214(-4214) may occur during connection.
    Type-4 XA Connectivity: An XAER_PROTO error is reported
    in the following scenario.
      XA Start
      SQL 1 --> success
      SQL 2 --> got ABNUOWRM in DRDA flows with error code -1476
      SQL 3 --> Success
      XA End (TMSUCCESS) --> server is returning XAER_PROTO.
    SQL 3 should cause a -4497 error instead of success. The
    transaction manager should rollback this transaction by
    issuing XA End (TMFAIL) instead of XA End (TMSUCCESS).
    (112540, 110327)
    All Connectivity Types:
    A java.lang.NegativeArraySizeException could be thrown when
    accessing LOB data if the streamBufferSize connection
    property is explicitly set to
    DB2BaseDataSource.STREAM_BUFFER_SIZE_NOT_SET.  The driver
    has been modified to avoid throwing this exception. (103736)
    Type-4 Connectivity: In a client re-route scenario against
    DB2 for zOS, driver is not replaying the special register
    values if primary server is down to begin with and the
    connection is re-routed to the alternate server specified
    by properties clientRerouteAlternateServerName and
    clientRerouteAlternatePortNumber. (109284, 111207, 111524)
    Type-4 Connectivity: SQLCODE4700 (-4700) is encountered
    when connecting to DB2 for z/OS Version 8 compatibility
    mode. (110243)
    Type-4 Connectivity: SQLCODE4499 (-4499) with message
    "DSS length not 0 at end of same id chain parse" is
    encountered when client is connecting to z/OS server A
    and using a 3-part name in the SQL that hops to z/OS
    server B which is at a lower server version than A.
    All Connectivity Types: Driver memory footprint may increase
    substantively in size upon initial driver initialization or
    the first usage of Statement method setQueryTimeout(). This
    is exemplified in a Websphere Application Server
    interoperability environment. This was due to Thread objects
    (Timer has a Thread) being created referencing application
    module ClassLoaders and subsequently not allowing them to go
    out of scope and garbage collect. This problem has been
    resolved. Such Threads now correctly reference
    driver-specific ClassLoader that is intended to persist and
    remain loaded for the life of the driver and JVM. (110658)
    When an SQLJ application running under Websphere
    environment is stopped and restarted, a memory leak could
    occur if the SQLJ program used instances of
    sqlj.runtime.DefaultContext. The DefaultContext held a
    strong reference to the Application ClassLoader. This has
    now been fixed. The Websphere Application Server(WAS) has
    to be restarted after applying the fix.  (111172)
    Type-4 Connectivity:
    If the enableSysplexWLB or enableConnectionConcentrator
    property is specified in the URL parameter of the
    DriverManager.connect() method, the driver does not throw
    an exception even though the properties are not supported.
    An exception is now thrown indicating that enableSysplexWLB
    and enableConnectionConcentrator are unsupported
    DriverManager properties.  They can only be specified as
    DataSource properties. (110840)

Local fix

  • n/a

Problem summary

  • ****************************************************************
    Users of the IBM Data Server Driver for JDBC and SQLJ
    See Error Description
    Upgrade to V9.1 Fixpack 6

Problem conclusion

  • Problems fixed in DB2 LUW V9.1 Fixpack 6

Temporary fix


APAR Information

  • APAR number


  • Reported component name


  • Reported component ID


  • Reported release


  • Status


  • PE




  • Special Attention


  • Submitted date


  • Closed date


  • Last modified date


  • 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


  • Fixed component ID


Applicable component levels

  • R910 PSY


[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]

Document Information

Modified date:
04 October 2021