Informix Error -3731
-3731 Cannot open the table table-name.
The database server cannot open the file that represents this table. You might have exceeded an operating-system limit on open files; if that is the case, you will have to reduce the number of tables that are included in the form. However, first make sure that a file exists for this table in the database directory (its name is database-name.dbs) and that your account has read access to it. The name of the table file is composed of table-name, a 3-digit number, and the suffix .dat.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3731 fires when the database server can't open the file representing a table — per the official guidance, this may be an operating-system open-file limit, a missing database file, or a permissions issue.
- An operating-system open-file limit was exceeded, per the official guidance — the first named cause, requiring fewer tables in the form.
- The database file (
database-name.dbs) doesn't exist in the database directory, per the official guidance — the second named cause. - The account lacks read access to the table's file (named
table-nameplus a 3-digit number plus.dat), per the official guidance — the third named cause.
Solutions / Resolution
- Check whether an open-file limit was exceeded, per the official guidance, and reduce the number of tables in the form if so.
- Confirm the database file exists in the database directory, per the official guidance.
- Confirm the account has read access to the table's file, per the official guidance.
Examples
Checking the database and table files
ls database-name.dbs
ls database-name.dbs/table-name*.dat
Diagnostic Checks
- Check the OS open-file limit, whether
database-name.dbsexists, and whether the account has read access to the table's.datfile.
Related Errors / Related Topics
- -3651 — "You have exceeded the number of opened tables allowed by your system." A closely related open-file-limit error, about the same underlying OS limit surfaced when a statement requires more open tables than allowed.
The database server can't open the table's file — check the OS open-file limit, whether the
database file exists, and read access to the table's .dat file.