Informix Error -29081: ODBC Error (message_token).
Cause and resolution
ODBC Error (message_token).
An ODBC (Open Database Connectivity) component that the Gateway uses to access the target DBMS has reported the error that message_token contained. Refer to your ODBC documentation to correct the problem.
The format for message_token is as follows:
[ODBC_Error_Code Sqlstate Driver_Prod_id] ODBC_Error_Message
ODBC_Error_Code is the error code of the ODBC component. (It can be 0.)
Sqlstate is the SQLSTATE that is associated with the error. For a list of SQLSTATE codes, see your ODBC documentation.
Driver_Prod_id is the product ID of the ODBC driver that is being used.
ODBC_Error_Message is the error message that the ODBC component provided. This message is truncated if the entire sqlerrm text is longer than 71 bytes.
Driver_Prod_id has the following format:
Driver_Name:Driver_Version
Driver_Name is up to the first 5 characters of the name of the file that contains the ODBC Driver that is being used for the connection (specifically, the SQL_DRIVER_NAME that the SQLGetInfo ODBC function returned). If the connection has not yet been established, Driver_Name is blank.
Driver_Version is the first 10 characters of the version of the ODBC Driver (specifically, the SQL_DRIVER_VER that the ODBC SQLGetInfo function returned). The Driver_Version is a character string of the form nn.nn.nnnn, where the first 2 digits are the major version of ODBC Driver, the next 2 digits are its minor version, and the last 4 digits are its release version (for example, 02.00.0000). An Oracle7 Driver_Prod_id might be libor:01.02.0006.
If the connection attempt to the target DBMS was not completely successful, then Driver_Prod_id will be:00.00.0000.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-29081 fires when the ODBC component the Gateway uses to access the target DBMS reports
its own error — per the official guidance, message_token is formatted as
[ODBC_Error_Code Sqlstate Driver_Prod_id] ODBC_Error_Message, where Driver_Prod_id is
Driver_Name:Driver_Version (from the driver's SQL_DRIVER_NAME/SQL_DRIVER_VER). The
message is truncated if it exceeds 71 bytes.
- An error reported by the ODBC component/driver, per the official guidance — the
direct, only cause;
ODBC_Error_Code/Sqlstateidentify the specific condition.
Solutions / Resolution
- Refer to the ODBC documentation for
ODBC_Error_Code, per the official guidance, to correct the problem.
Examples
N/A
No specific triggering statement is documented beyond an ODBC-layer error.
Diagnostic Checks
- Extract
ODBC_Error_Code,Sqlstate, andDriver_Prod_idfrommessage_token, and consult the ODBC driver's documentation.
Related Errors / Related Topics
- -29080 — "Target DBMS Error (message_token)." A related passthrough error, from the target DBMS itself rather than the ODBC layer.
The ODBC component reported its own error via message_token — consult the ODBC driver's
documentation for ODBC_Error_Code.