Ver Mensaje Individual
  #4  
Antiguo 23-02-2009
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Reputación: 18
Nasca Va por buen camino
Cita:
Empezado por GustavoCruz Ver Mensaje
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.
Responder Con Cita