GARANTIR DESCONTO

Fórum Problemas com permissões de acesso #50457

11/04/2005

0

Estou fazendo um programa de logs por triggers.. Até agora esta tudo ok funciona perfeitamente.. porem me surgiu um problema.. se eu tenho um usuario diferente do sysdba não consigo alterar as triggers por ele..
Exemplo: Criei uma trigger com o usuario SYSDBA. Conectei no banco com o usuario TRANSF e tentei fazer uma alteração na mesma.. eis q vem o erro: Unsucceful metadata update. MODIFY TRIGGER failed no permission for control access to TABLE...

Aqui esta o codigo q fiz para fazer as permissões do usuario TRANSF ficarem iguais a do usuario SYSDBA. Aparentemente funcionou com todas tabelas .. menos as triggers

SQLConsulta.Active   := False;
    SQLConsulta.SQL.Clear;
    SQLConsulta.SQL.Append(´INSERT INTO RDB$USER_PRIVILEGES(RDB$USER, RDB$GRANTOR, RDB$PRIVILEGE, RDB$GRANT_OPTION, RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$USER_TYPE, RDB$OBJECT_TYPE)´);
    SQLConsulta.SQL.Append(´SELECT ´´TRANSF´´, RDB$GRANTOR, RDB$PRIVILEGE, RDB$GRANT_OPTION, RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$USER_TYPE, RDB$OBJECT_TYPE´);
    SQLConsulta.SQL.Append(´ FROM RDB$USER_PRIVILEGES A WHERE A.RDB$USER = ´´SYSDBA´´ AND´);
    SQLConsulta.SQL.Append(´ NOT EXISTS(SELECT B.RDB$USER FROM RDB$USER_PRIVILEGES B WHERE´);
    SQLConsulta.SQL.Append(´ B.RDB$USER = ´´TRANSF´´ AND A.RDB$PRIVILEGE = B.RDB$PRIVILEGE AND´);
    SQLConsulta.SQL.Append(´ (A.RDB$GRANT_OPTION = B.RDB$GRANT_OPTION OR B.RDB$GRANT_OPTION IS NULL) AND´);
    SQLConsulta.SQL.Append(´ A.RDB$RELATION_NAME = B.RDB$RELATION_NAME)´);
    SQLConsulta.ExecSQL(True);


Alguem tem alguma ideia do pq desse erro?
Uso IB 6.1, com dbExpress


Ltres

Ltres

Responder

Posts

11/04/2005

Afarias

Apenas o OWNER do objeto (e o SYSDBA) pode alterá-lo. Crie os objetos como o usuário TRANSF e este terá o controle q vc deseja.


T+


Responder

Gostei + 0

11/04/2005

Ltres

Valeu.. Era o q eu temia... :( Mas td bem, vamos a luta 8)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar