无法从SQL视图(.hdbview)中"选择"

2020-09-12 15:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


同事们,

我有2个XSA容器,分别是cont1和cont2。

cont1在经典(netweaver)数据库表之上具有同义词,然后在这些同义词上具有表函数。

对于cont2,已分配了一个角色,这赋予了它从cont1中"选择"和"执行"的特权。 无需授予GRANT OPTION即可授予该角色。

现在,在cont2中,我已经创建了同义词(在早期的表函数之上),并且在同义词之上创建了SQL视图。 生成运行时对象。

现在,如果我执行"从synonym_cont2中选择*",它将起作用并显示结果。

但是,如果我执行'select * from sqlview_cont2',它说

权限不足:未经授权

这是什么问题? 应该授予角色" GRANT OPTION"吗? 如果是这样,为什么? 如果cont2的对象所有者已经可以访问整个cont1,则仅要求WITH GRANT OPTION才能让cont2顶部的另一个容器具有特权。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


同事们,

我有2个XSA容器,分别是cont1和cont2。

cont1在经典(netweaver)数据库表之上具有同义词,然后在这些同义词上具有表函数。

对于cont2,已分配了一个角色,这赋予了它从cont1中"选择"和"执行"的特权。 无需授予GRANT OPTION即可授予该角色。

现在,在cont2中,我已经创建了同义词(在早期的表函数之上),并且在同义词之上创建了SQL视图。 生成运行时对象。

现在,如果我执行"从synonym_cont2中选择*",它将起作用并显示结果。

但是,如果我执行'select * from sqlview_cont2',它说

权限不足:未经授权

这是什么问题? 应该授予角色" GRANT OPTION"吗? 如果是这样,为什么? 如果cont2的对象所有者已经可以访问整个cont1,则仅要求WITH GRANT OPTION才能让cont2顶部的另一个容器具有特权。

付费偷看设置
发送
3条回答
悻福寶寶
1楼 · 2020-09-12 15:27.采纳回答

由于视图是定义器模式对象,即容器的#OO而不是DB用户从它们读取数据,因此在这种情况下,您始终需要WITH GRANT OPTION从SQL视图中进行选择(以便 #OO授予数据库用户(即您)。

N-Moskvin
2楼-- · 2020-09-12 15:24

否。 没有角色被更改。

打个大熊猫
3楼-- · 2020-09-12 15:32

HDBGRANTS文件中的内容是什么? 您可以为object_owner和application_user分别授予权限。 这可以解释为什么创建同义词(object_owner),但是不能从同义词中选择(application_user)。

https://github.com/SAP/com.sap.openSAP.hana5.example/blob/hana2_sps03/core_db/cfg/central.hdbgrants

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答