Informix-SQL(SE) 4.10.DD6 (MS-DOS 6.22):
I have a table created as: "pcuser".tablename. I attempted to drop this table with:
DROP TABLE tablename;
and received the following error message:
545: No write permission for table pcuser.tablename.
Since my app is single-user and I'm not concerned with restricting privileges for any table, I installed ISQL 4.10 without password protection (i.e. no user name or password is required to startup the SE engine). So the default and only user name/table owner is always "pcuser". With ISQL 2.10, I didn't have to specify "table-owner".tablename when dropping, creating, reading or writing to a table. However I did grant all on tablename to public and grant dba to public. I also executed the same grant statements in 4.10.
Do I have to specify the table owner when dropping a table like:
DROP TABLE "pcuser".tablename;
Sorry, I don't have the documentation for ISQL 4.10.
The following are perform.out screen outputs of SYSTABAUTH and SYSTABLES row for tablename:
SYSTABAUTH:
grantor [pcuser ]
grantee [public ]
tabid [102 ]
tabauth [su-idxa]
SYSTABLES:
tabname [tablename ]
owner [pcuser ]
dirpath [C:\DBFILES.DBS\TABLENAME ]
[ ]
tabid [102 ]
rowsize [256 ]
ncols [48 ]
nindexes [5 ]
nrows [1082594 ]
created [07-13-2010]
version [9 ]
tabtype [T]
audpath [ ]
[ ]
Below are two sql procs in my app. The first one properly execs, but the second one fails with the err 545 on the drop table statement:
{CREATEDB.SQL - First SQL Proc}
DROP DATABASE dbfiles;
CREATE DATABASE dbfiles;
CREATE TABLE tablename
(
col1 char(18),
col2 char(60),
[...]
) in "C:\DBFILES.DBS\TABLENAME";
LOAD FROM "tablename.unl" INSERT INTO tablename;
CREATE UNIQUE INDEX tablename_idx1 ON tablename (col1);
GRANT ALL ON tablename TO PUBLIC;
GRANT DBA TO PUBLIC;
UPDATE STATISTICS;
---
{DROPTAB.SQL - Second SQL Proc}
DROP TABLE tablename;
^
ERROR 545: No Write Permission....