Oracle SELECT 已授予,但仍无法跨用户访问表



任何人都可以看到这有什么问题:

用户ABC:

create table def.something (
  id number,
  ref number references def.anotherTable(id)
);
create role ROUser;
grant select on def.something to ROUser;
grant ROUser to ghi;

用户定义:

select * from something;
...
X rows returned

用户GHI:

select * from def.something;
ORA-00942: table or view does not exist

存在 GHI 无法访问的外键这一事实是否def.something问题?


编辑我刚刚在另一台服务器上再次尝试了此操作,它工作正常(即,按预期)。不完全确定这里发生了什么,但我认为这可能与我的一些错误有关......因此,我投票结束这个问题。

您很可能在 PL/SQL 块中运行该SELECT语句?在 PL/SQL 中,不识别通过角色授予的权限。尝试在该表上添加直接SELECT权限,看看它是否有效。

相关内容

  • 没有找到相关文章

最新更新