Informix Error -493
-493 DBNLS not set (LC_CTYPE must be string_value).
Set the DBNLS environment variable to an appropriate value. Make sure LC_TYPE is set to the specified string_value.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-493 is the LC_CTYPE counterpart of -491's LC_COLLATE requirement: the same underlying
DBNLS-environment-configuration issue, but here the specific variable named in the error is
LC_CTYPE (which governs character classification — what counts as a letter, digit, etc. — for
the target locale), and the required value is stated directly in the message.
DBNLSnot set at all in the environment of the session/application connecting to an NLS-enabled database.LC_CTYPEset to a value that doesn't match what the database actually requires — the error message itself names the expectedstring_value.LC_COLLATEcorrectly configured (avoiding-491) butLC_CTYPEoverlooked, since the two are configured independently.
Solutions / Resolution
- Configure the
DBNLSenvironment variable appropriately, per the official guidance. - Ensure
LC_CTYPEis set to the specific string value named in the error message, per the official guidance. - Check both
LC_COLLATEandLC_CTYPEtogether when configuring environment variables for an NLS-enabled database — fixing one doesn't imply the other is also correct.
Examples
Setting DBNLS and LC_CTYPE
export DBNLS=1
export LC_CTYPE=en_us.utf8
-- use the exact value named in the error message
Diagnostic Checks
- Check whether
DBNLSis set in the connecting session's environment. - Check
LC_CTYPE's current value against the specificstring_valuenamed in the error message.
Related Errors / Related Topics
- -491 — "DBNLS not set (LC_COLLATE must be string_value)." The closely related sibling —
the identical underlying issue, for
LC_COLLATEinstead ofLC_CTYPE. - -492 — "LANG or LC_COLLATE environment variable invalid." A related NLS-environment error, about an invalid value rather than a missing one.
Check LC_COLLATE and LC_CTYPE together — resolving one of these NLS-environment errors
doesn't guarantee the other variable is also correctly configured.