【问题标题】:Grant select previleges to a synonym将选择权限授予同义词
【发布时间】:2015-07-10 14:10:17
【问题描述】:

--我正在使用一个名为 V_AREA 的视图,它是 SYNONYM: AREA 但是,当我尝试向我的角色授予选择权限时,我收到以下错误:

将区域上的选择授予 MY_ROLE

  • 第 1 行出现错误:ORA-02225:只有 EXECUTE 和 DEBUG 权限对过程有效

我没有使用程序,我该怎么办?

我已尝试使用以下赠款:

Grant select on area to my_role; --this one gives the above error
Grant select on 'area' to my_role; --this gives other error 
Grant select on "area" to my_role; --this gives the same error as 'area' 

编辑:

我创建了 2 个名为 AREA 的同义词:一个是我认为的 V_AREA,另一个是 OGC_AREA。不涉及任何程序

【问题讨论】:

  • 执行SELECT * FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'AREA'会返回什么?
  • @BobJarvis 没有返回任何内容
  • 您需要在 view 上授予select 权限,而不是在同义词上。

标签: oracle plsql synonym


【解决方案1】:

使用 this 在视图中使用的所有基表上向用户授予引用

Grant references on your_schema.tablename to target_schema or user;

【讨论】:

  • references 权限用于创建外键。您需要在视图上授予select
  • @a_horse_with_no_name 正确,但如果一个模式中的视图和另一个模式中的表涉及不同的模式,这对我有用
猜你喜欢
  • 2017-07-06
  • 2019-07-09
  • 2011-09-07
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
相关资源
最近更新 更多