Informix Error -894
-894 Cannot find object object-name.
The object name that the user specified explicitly in the SET statement is not found in the database.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-894 fires when a SET statement explicitly names a database object that doesn't exist — per
the official guidance, the direct, only cause.
- A misspelled object name in the
SETstatement — the most common, direct cause. - An object that was dropped since the
SETstatement was written, no longer present under that name. - The wrong object type assumed — naming an index when a constraint name was actually
intended, or vice versa, if the
SETstatement's target type isn't obvious from context.
Solutions / Resolution
- Review the spelling of the object name in the
SETstatement. - Query the appropriate system catalog for the object type being targeted, to confirm the
exact current name:
SELECT idxname FROM sysindexes WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'orders'); SELECT constrname FROM sysconstraints WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'orders');
Examples
Checking the object's actual current name
SELECT idxname FROM sysindexes WHERE tabid =
(SELECT tabid FROM systables WHERE tabname = 'orders');
Diagnostic Checks
- Query the matching system catalog (
sysindexesfor indexes,sysconstraintsfor constraints) to confirm the object's exact current name before retrying theSETstatement.
Related Errors / Related Topics
- -891 — "Temporary table objects can only be enabled." A related object-mode
SETrestriction, once the object is correctly found. - -892 — "Cannot disable object object-name due to other active objects using it." A related
object-mode
SETrestriction, about dependency ordering once the object is found. - -893 — "Cannot activate/create object object-name because of its dependencies." A related object-mode restriction, the enable-side mirror of -892.
A straightforward name-not-found error — query the matching system catalog to confirm the object's exact current name.