We have a few back-end applications using an XA switch module connected to a DB2 (10.5). 2 or 3 transactions will pass until this shows up: enter image description here

I’ve found this document that talks about “Code 998, state 58005, reason code 9, subcode 2: https://www.ibm.com/support/knowledgecenter/en/SSEPGG_10.1.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00998n.html
Unfortunately, all they say is: For reason code 9, subcode 02, ensure that the tp_mon_name configuration parameter contains the name of the dynamic library in the external product which has the ax_reg() function used for dynamic registration of transactions.

  1. On the other hand, I found this document: www.ibm.com/support/knowledgecenter/en/SSEPGG_10.5.0/com.ibm.db2.luw.admin.2pc.doc/doc/c0005106.html
    Where, on the explanation of tm_database, they say "don't use tp_mon_name, if you are using XA switch module, which I am.
    But they don't explain tm_database.

  2. I have two versions of the switch module, one with 'CONSTANT DYNAMICREGISTRATION "Y"' and one with 'CONSTANT DYNAMICREGISTRATION "N"'. The latter exists somewhere and will take me huge time to find. Do you think it could be it?


Apparently, this was the switch module. The RM OPEN STRING definition included: rmopenstring=db=mydatabase,uid=uuuuuu,pwd=pppp,,axlib=somelib Once the value for axlib was supplemented with an extention, .so, the error has gone away.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.