点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我正在了解使用HDI容...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我正在了解使用HDI容...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
我正在了解使用HDI容器构建数据库对象的过程。 以下是我要澄清我的理解是否正确的几点,以及关于我不知道的几个问题。 要求您分享您的想法。
很抱歉在下面列出许多要点,但是我认为所有这些要点都与同一概念相关,因此试图将它们合并在一个地方。
说明:-
一个项目有3个数据库模块[HDB modules],在运行时,每个模式分别有3个容器。
i)同样,对于每个HDB模块,将创建如下三个模式
a)容器
b)容器#DI
c)container#OO
每个容器都有一个技术用户(或)应用程序用户[HDI_USER]和数据库用户[USER]。
_______________________________________________________________________
例如,如果一个项目有一个HDB模块,该模块具有一个容器以及与该容器关联的用户。 如果我们试图从该容器的表部分中查询数据,则涉及该容器的技术用户[HDI_USER]从该容器的表部分中读取数据。
________________________________________________________________________
当我们尝试访问此容器之外的对象时,有以下两种情况
i)从其他HDI容器模式访问表-在这种情况下,我们必须创建.hdbrole作为源容器的一部分,并在目标HDB模块中将此hdbrole引用为具有必需特权的.hdbsynonymgrantor文件的一部分,作为.hdbsynonymgrantor文件的一部分。 目标容器,还请在目标HDB模块的.yaml文件中的所需资源中引用.hdbrole
ii)从复制的架构(或非HDI容器架构)访问表-创建用户提供的服务[CUPS],然后使用.hdbsynonymgrantor文件将其分配给此容器的HDI用户。
________________________________________________________________________
反之亦然,就像在非HDI场景中访问HDI容器的表一样,我们需要为此容器创建.hdbrole并将此角色授予容器#DI模式的数据库用户(或)调用过程部分以授予 非HDI方案的必要授权。
问题:-
1。 是的,生成的名称可以在其他系统上的传输/创建时更改。 因此,您不应直接与生成的名称进行交互。
2。 数据库用户是容器架构内任何对象的所有者/创建者。
3。 您应该使用SERVICE_REPLACEMENTS选项来使用别名,而不是对实际的外部容器或用户提供的服务名称进行编码。 请参阅openSAP课程中的示例: https ://github.com/SAP/com.sap.openSAP.hana5.example/blob/master/mta.yaml
4。 为什么会有多个容器? 团队中的每个人都应该真正创建一个单独的容器。 每个人都签出他们的项目,并有一个单独的容器实例,但是当您在Git中将所有源合并回去,然后构建MTA时,应用程序的下游安装将只有一个容器。
一周热门 更多>