Informix Error -373: A database or command script is inaccessible because a DBPATH entry is too long.
Cause and resolution
A database or command script is inaccessible because a DBPATH entry is too long.
The database server cannot locate a database or command script using the DBPATH environment variable because one or more of the entries is too long. No entry can exceed 128 bytes and the total number of entries cannot exceed 100. Entries specified beyond the 100th entry will be ignored.
Reset the value of the DBPATH environment variable according to these rules.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-373 is a DBPATH environment-variable formatting limit: individual entries can't exceed 128
bytes, and the variable can hold at most 100 entries in total — anything beyond the 100th is
silently ignored rather than causing an error on its own, but an oversized individual entry
triggers this error directly.
- A
DBPATHentry longer than 128 bytes — typically a deeply nested directory path. - More than 100 entries in
DBPATH, with a database or command script that only exists in one of the entries past the 100th, silently disregarded rather than searched. DBPATHassembled or appended to programmatically over time, growing past either limit without anyone noticing until a lookup fails.
Solutions / Resolution
- Check each
DBPATHentry's length and shorten any exceeding 128 bytes, per the official guidance — often by using a shorter path or a symbolic link. - Count the total number of entries and trim
DBPATHto 100 or fewer if it's grown beyond that, reordering so the most important entries come first (since entries past the 100th are simply disregarded). - For programmatically maintained
DBPATHvalues, add validation that catches both limits before they're silently exceeded.
Examples
Checking DBPATH length and entry count
echo $DBPATH
echo $DBPATH | tr ':' '\n' | awk '{ print length, $0 }'
-- review each entry's length (128-byte limit) and the total
-- entry count (100-entry limit)
Shortening an oversized entry with a symbolic link
ln -s /very/deeply/nested/path/that/exceeds/the/limit /informix/dbpath1
-- then use /informix/dbpath1 in DBPATH instead of the long path
Diagnostic Checks
- Measure each
DBPATHentry's byte length against the 128-byte limit. - Count the total number of entries against the 100-entry limit.
- Confirm the target database/script isn't sitting past the 100th entry, where it would be silently unreachable rather than erroring clearly.
Related Errors / Related Topics
- -329 — "Database not found or no system permission." A related database-visibility error —
an oversized or overlong
DBPATHis one of the specific causes this error's broader guidance points toward on Informix SE.
Both limits (128 bytes per entry, 100 entries total) fail silently or non-obviously in different
ways — measure DBPATH explicitly rather than assuming it's within bounds.