Troubleshooting
Problem
SQL0998N Error occurred during transaction or heuristic processing. Reason Code = 16 . Subcode = 3-8004D00E from an OLEDB application using MSDTC on Windows 64-bit server
Symptom
[IBM][CLI Driver][DB2] SQL0998N Error occurred
during transaction or heuristic processing. Reason Code = 16 . Subcode
= 3-8004D00E . SQLSTATE=58005 Original Source: Microsoft OLE DB
Provider for ODBC Drivers Stored Procedure
"Subcode = "3-8004D00E". This indicates that Microsoft
returned back a "8004D00E" return code when DB2 attempted to enlist a
transaction with MSDTC. This stands for "XACT_E_NOTRANSACTION" which
means "The transaction has already been implicitly or explicitly
committed or aborted."
Cause
OLE DB Connection Pooling
Resolving The Problem
Disable OLE DB connection pooling.
Windows 64-bit server supports both 32 and 64-bit applications, so please ensure you follow the correct procedure to disable OLEDB connection pooling depending on the bitness of the application.
- For 64-bit applications:
- Disable OLE DB connection pooling using the registry variable below:
- Start the Registry Editor (Regedit.exe).
- Navigate to the following registry location depending on the OLEDB provider in use:
For MSDASQL:
HKEY_CLASSES_ROOT\CLSID\{c8b522cb-5cf3-11ce-ade5-00aa0044773d}\
For IBMDADB2:
First navigate to HKEY_CLASSES_ROOT\IBMDADB2 to find the CLSID, then navigate to HKEY_CLASSES_ROOT\CLSID and locate the matching CLSID
- Modify the DWORD value for OLEDB_SERVICES to: 0xfffffffc, and then click OK.
- For 32-bit applications:
- Disable OLE DB connection pooling using the registry variable below:
- Start the Registry Editor (Regedit.exe).
- Navigate to the following registry location depending on the OLEDB provider in use:
For MSDASQL:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{c8b522cb-5cf3-11ce-de5-00aa0044773d}
For IBMDADB2:
First navigate to HKEY_CLASSES_ROOT\IBMDADB2 to find the CLSID, then navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID and locate the matching CLSID
- Modify the DWORD value for OLEDB_SERVICES to: 0xfffffffc, and then click OK.
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21689992