Informix Error -23109: Invalid locale specification.
Cause and resolution
Invalid locale specification.
A locale, with which all locale-sensitive processing occurs, is established on both the client and database server side. This processing locale is set with information from environment variables and from data that is stored in the database. An internal function could not compose the long form of the NLS locale in its internal array. Not all the categories (LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME) could be composed. Check the value of the environment variables CLIENT_LOCALE and DB_LOCALE. Also check the value of INFORMIXDIR.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-23109 fires when an internal function can't compose the long form of the NLS locale in
its internal array — per the official guidance, not all categories (LC_COLLATE,
LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME) could be composed.
CLIENT_LOCALE/DB_LOCALEset to a value the categories couldn't be composed from, per the official guidance — the direct, only cause.
Solutions / Resolution
- Check the value of
CLIENT_LOCALEandDB_LOCALE, per the official guidance. - Check the value of
INFORMIXDIR, per the official guidance.
Examples
N/A
No specific triggering statement is documented beyond a locale specification the categories couldn't compose from.
Diagnostic Checks
- Check
CLIENT_LOCALE,DB_LOCALE, andINFORMIXDIR, and correct any invalid value.
Related Errors / Related Topics
- -23101 — "Unable to load locale categories." A related locale-initialization error, on loading categories rather than composing the locale's internal long form.
- -23115 — "Code sets of the locale categories are not the same." A related locale- consistency error, on category code sets disagreeing rather than composition failing outright.
An NLS locale's categories couldn't be composed from CLIENT_LOCALE/DB_LOCALE — check
those and INFORMIXDIR.