我正在使用FireBird 2.1,我有一个用户和一个角色。我将存储过程的执行权限授予了角色,但没有授予用户。 当我以具有该角色的用户身份登录时尝试执行存储过程时,我收到以下错误:
声明#1:无权执行对PROCEDURE SPSELECTMANAGERS的访问。
我检查了角色和用户,用户已添加到角色中。
答案 0 :(得分:0)
SP是递归的吗?在这种情况下,该过程必须具有执行自身的权限,即将其添加到数据库创建脚本:
GRANT EXECUTE ON PROCEDURE SPSELECTMANAGERS TO PROCEDURE SPSELECTMANAGERS;
BTW此行为被视为一个错误,将在未来版本(FB 3)中修复。