Gustavo:
A lo que me refería es a lo siguiente:
1.-Debes de crear tus usuarios y roles (no importa el orden al crearlos).
2.-Debes de dar los permisos que gustes a los roles.
3.-Asegúrate que exista los roles:
4.-Asegúrate que los permisos fueron otorgados a los roles correctamente:
Código SQL
[-]
SELECT *
FROM RDB$USER_PRIVILEGES
WHERE RDB$USER = 'NOMBRE DEL ROLE"
(ojo, el nombre del role DEBE de estar en mayúsculas)
En el campo de RDB$USER debe de aparecer las roles que fueron creadas.
En el campo de RDB$USER_PRIVILEGE debe de aparece un S para Select (ver, seleccionar), U para Update (cambiar, actualizar), I para Insert (insertar, agregar), D para Delete (borrar, eliminar). En caso de procedimientos Almacenados aparece una X de Execute (ejecutar).
5.- Finalmente si vuelves a correr la sentencia:
Código SQL
[-]
SELECT *
FROM RDB$USER_PRIVILEGES
WHERE RDB$USER = 'NOMBRE DEL USUARIO"
En el compo RDB$USER debe de aparacer el nombre del usuario
En le campo RDB$RELATION_NAME debe de aparacer el nombre del Role que le estás asignándole.
Nota: Hay mas campos, algunos, por el nombre puedes deducir a que se refieren, sin embargo, te sugiero que leas la documentación que viene en la instalación de Firebird y allí podrás ver todos los detalles.
Saludos,
Gerardo Suárez Trejo