Informix Error -599
-599 Cannot mix IBM Informix Dynamic Server syntax with
IBM Informix SE syntax.Syntax specific to IBM Informix Dynamic Server and to the IBM Informix SE database server was mixed in the same statement. Use the appropriate syntax for your database server.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-599 fires when a single statement combines syntax specific to IBM Informix Dynamic Server with syntax specific to IBM Informix SE — the same underlying product-specific syntax differences behind -554, but here two incompatible pieces are combined in one statement rather than one piece simply not matching the server in use.
- A
CREATE TABLEstatement mixingIN dbspace(Dynamic Server) with an SE-specific clause in the same statement, or the reverse combination. - SQL assembled from snippets written for different Informix products, concatenated together without checking that every clause targets the same product.
- Documentation or examples for one product copied partially, mixed with clauses already present that target the other product.
Solutions / Resolution
- Use the appropriate syntax for the database server actually in use, per the official guidance — pick one product's syntax throughout the statement, not a mix of both.
- Identify which database server product and version is actually in use, the same first step as for -554, before deciding which syntax variant to standardize on.
- Review the full statement for clauses belonging to the other product, removing or replacing any that don't match the server actually being targeted.
Examples
Mixed syntax in one statement
CREATE TABLE orders (order_id INT) IN orders_dbspace IN '/data/orders_dat';
-- -599: IN dbspace (Dynamic Server) mixed with IN 'pathname' (SE)
Corrected — pick one product's syntax
-- On IBM Informix Dynamic Server:
CREATE TABLE orders (order_id INT) IN orders_dbspace;
-- On IBM Informix SE:
CREATE TABLE orders (order_id INT) IN '/data/orders_dat';
Diagnostic Checks
- Confirm which Informix database server product and version the connection is actually using.
- Scan the statement for clauses belonging to the other product's syntax, removing whichever doesn't match.
Related Errors / Related Topics
- -554 — "Syntax disallowed in this database server." The same family of product-specific syntax differences, where a single clause doesn't match the server in use, rather than two incompatible clauses combined in one statement.
Pick one product's syntax throughout the statement — confirm which Informix server is actually in use first, same as for -554.