Informix Error -728: Unknown first argument of dbinfo(<argument>). </argument>
Cause and resolution
Unknown first argument of dbinfo(<argument>). </argument>
Check that the first argument to dbinfo() is a quoted string that corresponds to one of the following values: 'dbspace', 'version', 'sqlca.sqlerrd1', 'sqlca.sqlerrd2', 'sessionid', 'coserverid', 'utc_to_datetime', 'utc_current', 'get_tz', or 'dbhostname'.
-728 Unknown first argument of dbinfo argument-name.
The valid arguments to the dbinfo() function are the quoted string 'dbspace' followed by the number of a valid tablespace, or one of the following two values: 'sqlca.sqlerrd1' or 'sqlca.sqlerrd2'. Check that you supplied one of these values and enclosed the string in quotes.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-728 fires when DBINFO()'s first argument, though correctly a quoted string, doesn't match any
value the function recognizes — per the official guidance, the full set of valid values is
'dbspace', 'version', 'sqlca.sqlerrd1', 'sqlca.sqlerrd2', 'sessionid',
'coserverid', 'utc_to_datetime', 'utc_current', 'get_tz', or 'dbhostname'.
- A misspelled argument name, per the official guidance — the most common, direct cause.
- An argument name from a different server version or product, not recognized by this
server's
DBINFO()implementation. 'dbspace'used without the required second argument, per the official guidance's note that'dbspace'specifically must be followed by a tablespace number — though a missing second argument for'dbspace'would typically surface as -727 rather than -728, confirming the first argument itself is spelled correctly is still worth doing first.
Solutions / Resolution
- Check that the first argument is one of the ten documented values, per the official guidance, spelled and quoted exactly.
- Consult the documented list for the server version in use, since not every argument may be available on older versions.
Examples
An unrecognized argument name
SELECT DBINFO('sesion_id') FROM systables WHERE tabid = 1;
-- -728: 'sesion_id' isn't recognized; the correct name is 'sessionid'
Corrected
SELECT DBINFO('sessionid') FROM systables WHERE tabid = 1;
Diagnostic Checks
- Compare the quoted first argument against the documented list:
'dbspace','version','sqlca.sqlerrd1','sqlca.sqlerrd2','sessionid','coserverid','utc_to_datetime','utc_current','get_tz','dbhostname'.
Related Errors / Related Topics
- -726 — "First argument to dbinfo() must be a quoted string constant." A related
DBINFO()error, about the argument not being a literal quoted string at all, rather than being an unrecognized value. - -727 — "Invalid or NULL tblspace number given to dbinfo(dbspace)." A related
DBINFO()error, specific to'dbspace''s second argument once the first argument is correctly recognized.
Compare the quoted argument, character for character, against the ten documented DBINFO()
values.