Informix Error -272: No SELECT permission for table/column.
Cause and resolution
No SELECT permission for table/column.
The person who created this table has not granted Select privilege to your account name or to the public for the table or the column. The owner of the table or the DBA must grant this privilege before you can select data from the table or column.
This error message may also occur if you are using the LOAD command in DB-Access because DB-Access uses the SELECT command to get information about a table before loading or inserting rows.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-272 is a straightforward permissions error, with one specific, non-obvious trigger worth knowing
about: the official text notes this can surface during a DB-Access LOAD command, since
DB-Access uses SELECT internally to retrieve table structure before loading rows — meaning
SELECT privilege is silently required even for what looks like a pure load/insert operation.
- The account lacks
SELECTprivilege on the table or a specific column — the table owner or DBA never granted it. - A
LOADcommand in DB-Access failing even though the user only intends to insert or load data. DB-Access usesSELECTinternally to retrieve table information before loading, soSELECTprivilege is required regardless of the user's actual intent to only write data. - Column-level
SELECTprivilege missing specifically, if privileges are managed per-column rather than at the table level. - A newly created table where the DBA or owner forgot to grant
SELECTto relevant users, roles, orPUBLIC.
Solutions / Resolution
- Have the table owner or DBA grant
SELECTprivilege to the account (or toPUBLIC) for the table or the specific column. - If encountered during a DB-Access
LOADoperation, recognize thatSELECTprivilege is required even though the operation is conceptually a load/insert — grant it accordingly rather than assuming onlyINSERTprivilege should be needed. - Check whether privileges are granted at the column level and whether the specific column needs its own explicit grant.
Examples
Granting SELECT
GRANT SELECT ON orders TO app_user;
The DB-Access LOAD gotcha
-- A user with only INSERT privilege attempts:
LOAD FROM 'data.unl' INSERT INTO orders;
-- -272: DB-Access needs SELECT internally to check table structure
-- before loading, even though the user's actual intent is to write data
GRANT SELECT ON orders TO app_user;
-- retry the LOAD — now succeeds
Diagnostic Checks
- Check current privileges granted on the table or column in question.
- Confirm whether the failing operation is a
LOADcommand that indirectly needsSELECT, if the account already hasINSERTprivilege and the failure seems otherwise unexpected.
Related Errors / Related Topics
- -201 — "A syntax error has occurred." The general SQL-parsing-error family this fits into.
If this appears during a DB-Access LOAD, remember that SELECT privilege is silently required
too — granting only INSERT isn't enough for that specific operation.