Informix Error -2846: The field field-name is not a member of the table table-name.
Cause and resolution
The field field-name is not a member of the table table-name.
Something in this statement suggests that the name shown is part of this table, but that is not true in the current database. Review the spelling of the two names. If they are as you intended, check that the correct database is in use and that the table has not been altered.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-2846 fires when a referenced field name doesn't exist in the specified table — per the official guidance, this can stem from a spelling mistake, the wrong database being active, or the table structure having changed.
- A misspelled field or table name, per the official guidance — the first named check.
- The wrong database currently active, per the official guidance — the second named check.
- The table structure modified (a column renamed or removed) since the form was written, per the official guidance — the third named check.
Solutions / Resolution
- Verify the spelling of both the field and table names, per the official guidance.
- Confirm the correct database is active, per the official guidance.
- Check whether the table structure has been modified, per the official guidance.
Examples
Checking the table's actual columns
SELECT colname FROM syscolumns WHERE tabid =
(SELECT tabid FROM systables WHERE tabname = 'orders');
Diagnostic Checks
- Check spelling, the active database, and the table's actual current columns (via
syscolumns), in that order.
Related Errors / Related Topics
- -2850 — "The name name is not a column name in this database." A related error, about a column name not existing anywhere in the database, rather than specifically in the named table.
The referenced field isn't a member of the named table — check spelling, the active database, and whether the table structure changed.