Informix Error -12801: An attempt was made to invoke an access_method routine that does not exist.
Cause and resolution
An attempt was made to invoke an access_method routine that does not exist.
An SQL statement has been used that would normally cause a particular access method routine to be invoked, but the routine is not defined for that access method. Unless the routine is defined for the corresponding access method purpose, the SQL statement cannot be used for that access method.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-12801 fires when an SQL statement requires an access-method routine that isn't defined for that access method — per the official guidance.
- The routine not being defined for the corresponding access-method purpose, per the official guidance — the direct, only cause.
Solutions / Resolution
- Don't use SQL statements that require routines not defined for the access method, per the official guidance — unless the routine is defined for the corresponding purpose, that statement can't be used with that access method.
Examples
N/A
No specific triggering statement is documented beyond invoking an undefined access-method routine.
Diagnostic Checks
- Check the access method's routine definitions, and confirm the required routine purpose is actually defined for it.
Related Errors / Related Topics
- -12800 — "Unsuspected internal error." A related access-method error, about a general data inconsistency rather than specifically a missing routine.
- -12802 — "Error in initializing an access_method routine execution sequence." A related access-method error, about a defined routine failing to initialize rather than a routine that isn't defined at all.
An SQL statement required an access-method routine not defined for that access method — check the access method's routine definitions.