Subject | using stored procs, but no read/select access on table |
---|---|
Author | David Cornelius |
Post date | 2002-04-26T23:05:57Z |
I'm trying something new: using only stored procedure access from the connected user. So the IBOQuery components have statements like
SelectSQL: SELECT * FROM PRO_TABLE_S
UpdateSQL: EXECUTE PROCEDURE PRO_TABLE_U(params)
etc.
Everything worked fine from the Delphi application with the connected user being SYSDBA. But as soon as I switched to my new limited user, I started getting problems.
The new, limited user was granted only execute rights to all stored procedures, and the stored procedures were granted access to their necessary tables. Testing at the DB level (using IB Expert) seemed to indicate everything was set up fine--no direct access to the tables, but stored procedures worked fine once they had correct privileges.
But the IBOQuery components seem to need direct table access. Displaying the data seems to be fine, but as soon as I try to post any changes, I get the following error:
ISC ERROR MESSAGE:
no permission for read/select access to table MyTable
STATEMENT:
TIB_Statement: "<TApplication>.MyDataModule.MyIBOQuery.IBOqrMyIBOQuery.<TIB_UpdateSQL>.<TIB_Statement>.
STATEMENT:
TIBOInternalDataset: "<TApplication>.MyDataModule.MyIBOQuery.IBOqrMyIBOQuery.
Is there an IBO property I need to change or do I really need to grant more access to the user?
Thanks,
David Cornelius
SelectSQL: SELECT * FROM PRO_TABLE_S
UpdateSQL: EXECUTE PROCEDURE PRO_TABLE_U(params)
etc.
Everything worked fine from the Delphi application with the connected user being SYSDBA. But as soon as I switched to my new limited user, I started getting problems.
The new, limited user was granted only execute rights to all stored procedures, and the stored procedures were granted access to their necessary tables. Testing at the DB level (using IB Expert) seemed to indicate everything was set up fine--no direct access to the tables, but stored procedures worked fine once they had correct privileges.
But the IBOQuery components seem to need direct table access. Displaying the data seems to be fine, but as soon as I try to post any changes, I get the following error:
ISC ERROR MESSAGE:
no permission for read/select access to table MyTable
STATEMENT:
TIB_Statement: "<TApplication>.MyDataModule.MyIBOQuery.IBOqrMyIBOQuery.<TIB_UpdateSQL>.<TIB_Statement>.
STATEMENT:
TIBOInternalDataset: "<TApplication>.MyDataModule.MyIBOQuery.IBOqrMyIBOQuery.
Is there an IBO property I need to change or do I really need to grant more access to the user?
Thanks,
David Cornelius