IBM Support

IT26596: XA Connection fails if keyword value in connection string contains space.SSLServerCertificate is not working with XA Connection.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • This APAR addresses the following:
    
    1) XA connection fails with SSL when stash file and keydb files
    are present in a folder name which has spaces
    
    2) XA connection fails when either password or passphrase or
    userid has space in it .
    
    3) Simplified ssl server certificate
    mechanism(SSLSeverCertificate keyword) is not working with XA.
    
    Basically, the space issue is applicable for all the
    parameters which are passed to Microsoft XA API from Db2 client.
    
    
    Steps to reproduce:
    1) Create stash file and kdb file and store it in a folder which
    has spaces in its path name
    e.g: Program File has space
    C:\Program File\IBM\certs\host2.sth
    
    C:\Program File\IBM\certs\host2.kdb
    
    
    2) Run testconn and CLI test case with -dtc option, and
    XAconnection fails
    
    <configuration>
    <dsncollection>
    
    <dsn alias="testdb" name="TESTDB" host="xyz.ibm.com"
    port="50000">
    
    <parameter name="SecurityTransportMode" value="SSL"/>
    <parameter name="enableDirectXA" value="true" />
    <parameter name="UserId" value="newton" />
    <parameter name="password" value="i have space" />
    <parameter name="SSLClientKeystash" value="C:\Program
    Files\IBM\certs\host2.sth" />
    <parameter name="SSLClientKeystoredb" value="C:\Program
    Files\IBM\certs\host2.kdb" />
    <parameter name="Authentication" value="server" />
    </dsn>
    </dsncollection>
    
    <databases>
    <database name="TESTDB" host="xyz.ibm.com" port="50000">
    </database>
    </databases>
    
    </configuration>
    
    
    
    testconn test case :
    
    C:\>testconn40 "DATABASE=testdb;" -dtc
    adding MSDTC step
    
    Step 1: Printing version info
    .NET Framework version: 4.0.30319.36460
    64-bit
    IBM DB .NET provider version: 9.7.4.4
    IBM DB .NET file version: 11.1.3030.4
    Capability bits: ALLDEFINED
    Build: s1803021700
    Factory for invariant name IBM.Data.DB2 verified
    Warning, failed load of DbFactory
    for:Microsoft.HostIntegration.MsDb2Cli
    ent
    Warning, failed load of DbFactory
    for:Microsoft.HostIntegration.MsHostFi
    leClient
    Warning, failed load of DbFactory
    for:IBM.Data.Informix.11.1.2020
    Warning, failed load of DbFactory for:IBM.Data.Informix.11.1.0
    Elapsed: 0.3276006
    
    Step 2: DB2DSDRIVER_CFG_PATH env var: unset
    Validating db2dsdriver.cfg against db2dsdriver.xsd schema file
    C:\ProgramData\IBM\DB2\DB2COPY1\cfg\db2dsdriver.cfg against
    C:\Program Files\IBM\SQLLIB\cfg\db2dsdriver.xsd
    Elapsed: 0.1248002
    
    Step 3: Connecting using "DATABASE=testdb;"
    Server type and version: DB2/LINUXX8664 11.01.0404
    Elapsed: 3.7632103
    
    Step 4: Selecting rows from SYSIBM.SYSTABLES to validate
    existence of packages
    SELECT * FROM SYSIBM.SYSTABLES FETCH FIRST 5 rows only
    Elapsed: 1.0296018
    
    Step 5: Calling GetSchema for tables to validate existence of
    schema functions
    Elapsed: 1.185602
    
    Step 6: Creating XA connection
    DB2TransactionScope: Failed to open connection to database!
    IBM.Data.DB2.DB2Exception (0x80004005): ERROR [58005]
    [IBM][DB2/LINUXX8664] SQL0
    998N Error occurred during transaction or heuristic processing.
    Reason Code =
    "16". Subcode = "2-FFFFFFFF80004005". SQLSTATE=58005
    
    at IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection,
    String& szConnecti
    onString, DB2ConnSettings& ppSettings, Object& ppConn)
    at IBM.Data.DB2.DB2Connection.Open()
    at TestConn.DB2TransactionScope.Open(String connstr)
    
    Looking for XADLL key for C:\Program
    Files\IBM\SQLLIB\bin\db2app.dll
    Incorrect registry entry for C:\Program
    Files\IBM\SQLLIB\bin\db2app.dll
    in SOFTWARE\Microsoft\MSDTC\XADLL
    is: C:\Program Files\IBM\SQLLIB\BIN\DB2APP64.DLL, should be
    C:\Progra
    m Files\IBM\SQLLIB\bin\db2app.dll
    
    Test failed.
    
    
    C:\>testconn40
    "DATABASE=testdb;SSLServerCertificate=C:\server1.arm" -dtc
    adding MSDTC step
    
    Step 1: Printing version info
    .NET Framework version: 4.0.30319.36460
    64-bit
    IBM DB .NET provider version: 9.7.4.4
    IBM DB .NET file version: 11.1.3030.4
    Capability bits: ALLDEFINED
    Build: s1803021700
    Factory for invariant name IBM.Data.DB2 verified
    Warning, failed load of DbFactory
    for:Microsoft.HostIntegration.MsDb2Cli
    ent
    Warning, failed load of DbFactory
    for:Microsoft.HostIntegration.MsHostFi
    leClient
    Warning, failed load of DbFactory
    for:IBM.Data.Informix.11.1.2020
    Warning, failed load of DbFactory for:IBM.Data.Informix.11.1.0
    Elapsed: 0.3432006
    
    Step 2: DB2DSDRIVER_CFG_PATH env var: unset
    Validating db2dsdriver.cfg against db2dsdriver.xsd schema file
    C:\ProgramData\IBM\DB2\DB2COPY1\cfg\db2dsdriver.cfg against
    C:\Program Files\IBM\SQLLIB\cfg\db2dsdriver.xsd
    Elapsed: 0.1248002
    
    Step 3: Connecting using
    "DATABASE=testdb;SSLServerCertificate=C:\server1.arm"
    Server type and version: DB2/LINUXX8664 11.01.0404
    Elapsed: 3.8320069
    
    Step 4: Selecting rows from SYSIBM.SYSTABLES to validate
    existence of packages
    SELECT * FROM SYSIBM.SYSTABLES FETCH FIRST 5 rows only
    Elapsed: 1.2580023
    
    Step 5: Calling GetSchema for tables to validate existence of
    schema functions
    Elapsed: 1.6068029
    
    Step 6: Creating XA connection
    DB2TransactionScope: Failed to open connection to database!
    IBM.Data.DB2.DB2Exception (0x80004005): ERROR [58005]
    [IBM][DB2/LINUXX8664] SQL0
    998N Error occurred during transaction or heuristic processing.
    Reason Code =
    "16". Subcode = "2-FFFFFFFF80004005". SQLSTATE=58005
    
    at IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection,
    String& szConnecti
    onString, DB2ConnSettings& ppSettings, Object& ppConn)
    at IBM.Data.DB2.DB2Connection.Open()
    at TestConn.DB2TransactionScope.Open(String connstr)
    
    Looking for XADLL key for C:\Program
    Files\IBM\SQLLIB\bin\db2app.dll
    Incorrect registry entry for C:\Program
    Files\IBM\SQLLIB\bin\db2app.dll
    in SOFTWARE\Microsoft\MSDTC\XADLL
    is: C:\Program Files\IBM\SQLLIB\BIN\DB2APP64.DLL, should be
    C:\Progra
    m Files\IBM\SQLLIB\bin\db2app.dll
    
    Test failed.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * XA or MS-DTC users                                           *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 version 11.1.4.5                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in DB2 v11.1 M4FP5 and later.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT26596

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-10-12

  • Closed date

    2020-01-17

  • Last modified date

    2020-01-17

  • 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

  • RB10 PSN

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"11.1","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
14 December 2020