SQL-Retriever ODBC

FAQ

FAQ: SQL-Retriever/Informix: I see a 'cannot read or open file sql.iem' error

When I try to connect to an Informix database with SQL-Retriever ODBC using any application, I see an error message similar to:

Cannot open file 'sql.iem'

Cause: This problem is caused mainly by errors in the configuration of SQL-Retriever.

Solution: There may be several other solutions for this error. Here is a list of the most probable:

  1. Check the setting of variable INFORMIXDIR for SQL-Retriever in inflsqld.conf
  2. If you are using Informix 7, you may need to check the internationalized message files.
  3. If you are using Informix Standard Engine, you may need to check the permissions and ownership on the files and directories of the Informix Engine and the customer's database itself. Also, check that permissions have not been altered from what Informix would expect. You may be able to access the database with dbaccess or isql but not SQL-Retriever; this is because SQL-Retriever uses Informix's ESQL/C, which may be stricter about permissions than dbaccess/isql.
  4. Make sure there has not been a mix-up between the versions of SQL-Retriever for Informix. For most UNIX platforms, SQL-Retriever for Informix includes an executable for Informix 4 & 5 and another executable for Informix 6 & 7. The above error will occur if a connection is attempted using the SQL-Retriever binary for an Informix database of the incorrect version. The easiest way to check which version of SQL-R for Informix you are using is to run sqlr.inf40.d with '-v'. If you are in the directory where sqlr.inf40.d is installed, run './sqlr.inf40.d -v'. If the binary is for Informix 4 & 5, there will be no Informix version number; if the binary is for Informix 6 & 7, it will state Informix 7.

There may well be other causes of this error message.