Cita:
Empezado por GustavoCruz
Hola Nasca, gracias por tu aporte, me funcionó perfectamente, ahora me gustarìa saber còmo le asigno un rol a usuario y de paso còmo hago la consulta que me muestre los roles que tiene una base de datos...
|
Para asignar el rol investiga la sentencia GRANT, pero así por encima algo como esto:
sqldPermisos.CommandText := 'GRANT '+rol+' TO '+usuario;
Como ves también lo hago mediante ExecSQL()
Con respecto a la consulta:
Código SQL
[-]
select (UP.RDB$USER) as USER_NAME, (UP.RDB$RELATION_NAME) as ROL, rd.ROLE_DESCRIPCION
from RDB$USER_PRIVILEGES UP left outer join RDB$RD rd on(UP.RDB$RELATION_NAME = rd.RDB$ROLE_NAME)
where UP.RDB$PRIVILEGE = 'M' and UP.RDB$OBJECT_TYPE = 13
order by UP.RDB$RELATION_NAME'
Espero que te sirva, yo tengo conectado el dataset de los roles al de los usuarios como un maestro-detalle y así puedo ir viendo los roles de cada usuario.