Informix Error -998: Message number -998 not found.
Cause and resolution
Message number -998 not found.
-998 error is reserved for internal use. it&s about a General XA (Global) transaction error, this could be of many sorts. i.e.
1 /* asynch operation already outstanding */
2 /* an RM error occurred */
3 /* XID not recognized */
4 /* invalid parameters */
5 /* routine called in improper context */
6 /* RM unavailable */
7 /* the XID already exists */
8 /* RM doing work outside global transaction*/
9 /* axreg failed */
10 /* trying to start new trans while suspended*/
11 /* can't joing work of existing transaction*/
12 /* axunreg failed */
13 /* ax interface failure (unresolved symbol)*/
14 /* Enlist TM with DTC has failed */
15 /*AXREG with DTC has failed */
35 /* heuristic operaion invalid for non-XA db*/
36 /* XID not knowne by the RM */
37 /* trans already heuristically commited */
38 /* trans already heuristically rolled back */
39 /* not an indoubt transaction */
40 /* Rollback only is allowed */
41 /* heuristic commit fails because of node failure*/
43 /* XA not support by remote server */
225 /* disallow operations in Loosely Coupled Transaction */
226 /* heuristic rollback is performed */
227 /* transaction state is unknown */
228 /* cursors still existed */
229 /* not the first stmt */
230 /* heuristic commit is performed */
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-998 is reserved for internal use rather than naming one specific condition — per the archived catalogue text, it covers a general XA (Global) transaction error, and the real cause is one of a long list of internal XA return codes the engine maps onto this single number.
- An XA resource-manager (RM) level failure — e.g. an RM error, an unrecognized XID, invalid parameters, or the RM being unavailable, per the archived catalogue's own enumerated list of internal XA conditions this message can represent.
- A transaction-state conflict — e.g. starting a new transaction while one is suspended, joining work on an existing transaction incorrectly, or a heuristic commit/rollback already having occurred for the transaction in question.
- An
ax_reg/ax_unregor TM/DTC integration failure, per the archived catalogue, on platforms that integrate Informix's XA support with an external transaction manager.
Solutions / Resolution
- Capture the full accompanying error context — -998 alone doesn't identify which of the many internal XA conditions actually occurred; the surrounding log/trace output is what narrows it down.
- Check the state of the global transaction (suspended, heuristically completed, already known to the resource manager or not) against what the application attempted to do next.
- If the condition isn't resolvable from the transaction-manager side, note all circumstances and contact IBM Informix Technical Support.
Examples
N/A
No specific triggering statement is documented beyond the function-level condition described above.
Diagnostic Checks
- Review the full XA/transaction-manager log around the time -998 was raised — the specific internal condition (of the many this number can represent) is what actually explains it.
- Confirm the global transaction's current state (active, suspended, heuristically completed) before retrying the operation that failed.
Related Errors / Related Topics
No closely related error codes are cross-referenced for this code in this set yet.
A general XA (Global) transaction error covering many internal conditions — the accompanying log context, not -998 itself, identifies which one actually occurred.