Informix Error -368
-368 Incompatible sqlexec module.
The version of the database server does not agree with the version of the database library routines in the application program. This incompatibility must be resolved before the program can be executed. The database server is selected through the SQLEXEC environment variable (for database server versions prior to 6.0). It contains a complete pathname to the database server code, which is usually named sqlexec or sqlturbo (for database server versions prior to 6.0). The access routines linked into the program were chosen when the program was compiled. If the program you are running was supplied by Informix or IBM, then it or another IBM Informix product might have been installed incorrectly.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-368 is a client/server version-mismatch error at the binary linkage level: the version pointed
to by the SQLEXEC environment variable doesn't match the database access routines that were
linked into the application program at compile time. This is a lower-level version conflict than
-342's remote-feature-support gap — this one is about incompatible library/module versions,
not unsupported SQL features.
SQLEXECpointing to a different server version than the one the application was compiled and linked against.- An application upgraded (recompiled against a newer Informix client library) without the corresponding server-side component being upgraded, or vice versa.
- An incorrect or partial product installation — per the official guidance, if the affected program is an Informix/IBM product itself, installation issues with that product or related software are a plausible cause.
- Environment misconfiguration —
SQLEXECset to point at the wrong installation entirely, perhaps left over from a previous server version's setup.
Solutions / Resolution
- Verify the
SQLEXECenvironment variable's target matches the version the application was linked against, per the official guidance, and correct it if not. - Align server and client versions — either recompile/relink the application against the current server's libraries, or point the environment at a compatible server version.
- If the affected program is an Informix/IBM product, verify its installation (and any related software's installation) is complete and correct, reinstalling if necessary.
Examples
Checking and correcting the SQLEXEC environment variable
echo $SQLEXEC
-- confirm this points to a server installation whose version
-- matches what the application was compiled/linked against
Diagnostic Checks
- Check the
SQLEXECenvironment variable's current value. - Confirm the application's compiled/linked library version and compare against the
server version
SQLEXECpoints to. - If this is an Informix/IBM product itself, verify its installation completeness.
Related Errors / Related Topics
- -342 — "Remote host cannot execute statement." A related version-compatibility error, at the SQL-feature level for distributed queries rather than the binary client-library-linkage level.
Check SQLEXEC and the application's linked library version together — a mismatch between them
is the direct cause, not anything wrong with the SQL being executed.