SAP HANA中具有Definer的存储过程

2020-09-06 08:10发布

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

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


大家好,

我正在以用户SCHEMA_A身份登录的模式SCHEMA_A中创建存储库存储过程,其中我正在从SCHEMA_A中选择数据。 该过程是使用定义者权限创建的。

由于它是一个存储库过程,定义程序将是SYS_REPO。

因此,我已将SCHEMA_A的SELECT和EXECUTE特权授予了_SYS_REPO用户。

现在,当我尝试调用以用户SCHEMA_A登录的此存储过程时,出现"权限不足"错误。 但是我能够在模式SCHEMA_A上运行选择查询

请提供您对过程定义者权限的工作方式的意见。

此致

舒巴姆·贾因(Shubham Jain)

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

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


大家好,

我正在以用户SCHEMA_A身份登录的模式SCHEMA_A中创建存储库存储过程,其中我正在从SCHEMA_A中选择数据。 该过程是使用定义者权限创建的。

由于它是一个存储库过程,定义程序将是SYS_REPO。

因此,我已将SCHEMA_A的SELECT和EXECUTE特权授予了_SYS_REPO用户。

现在,当我尝试调用以用户SCHEMA_A登录的此存储过程时,出现"权限不足"错误。 但是我能够在模式SCHEMA_A上运行选择查询

请提供您对过程定义者权限的工作方式的意见。

此致

舒巴姆·贾因(Shubham Jain)

付费偷看设置
发送
3条回答
亦是此间程序员
1楼 · 2020-09-06 08:59.采纳回答

具有定义者权限,您应使用"带有授予选项"来授予_SYS_REPO授权

使用授予选项将模式JABIL_USER_DEV授予_SYS_REPO授予选择

而且,您的用户应该对存储过程具有执行特权(如果您的用户不是JABIL_USER_DEV)

风早神人
2楼-- · 2020-09-06 09:02

而没有看到过程的源代码,很难猜测是什么 错误的。

您的过程是否在SCHEMA_A之外选择了一些对象?

落灬小鱼
3楼-- · 2020-09-06 09:17

您好,

请检查以下代码:

--------------------------------------------------- ---------------------------

PROJEDURE" JABIL_USER_DEV"。" JABIL.JAIN_TEST.Procedure :: TEST"()

语言SQLSCRIPT

SQL安全定义器

默认模式" JABIL_USER_DEV"

读取SQL数据为

开始

从" JABIL_USER_DEV"中选择ID,IS_DELETED,IS_NEW,NAME,CURRENT_TIMESTAMP。" CUSTOMERS";

END;

--------------------------------------------------- ------------------------------

使用INVOKER关键字时,我可以调用上述过程

一周热门 更多>