用于SAP HANA构建的SAP Web IDE:错误:找到多个服务定义

2020-09-26 15:53发布

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

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


我对SAP HANA上的开放SAP课程软件开发(练习Q4/2016)的练习2.5感到困惑。

在本练习中,首先使用命令行界面定义用于访问SFLIGHT模式的用户定义服务:

xs杯子CROSS_SCHEMA_SFLIGHT_00 -p" {\"主机\":\" vhcalhexdb \",\"端口\":\" 30015 \",\"用户\":\" XSA_DEV \",\"密码\ ":\" xxx \",\"驱动程序":\" com.sap.db.jdbc.Driver \",\"标签\":[\" hana \"],\" schema \":\" SFLIGHT \"}"

然后,mta.yaml中的键hdi-sflight-service引用了此服务:

 _schema版本:" 2.0"
 编号:openSAPHANA5
 说明:openSAP HANA5组01
 版本:0.0.1


 模块:
 -名称:网络
   类型:html5
   路径:网络
   要求:
       -名称:openSAPHANA5_00-uaa
      
 -名称:core-db
   类型:hdb
   路径:core-db
   要求:
    -名称:hdi-container
      特性:
         目标容器:〜{hdi-container-name}
    -名称:CrossSchemaService
      组:SERVICE_REPLACEMENTS
      特性:
        关键:hdi-sflight-service
        服务:〜{sflight-service-name}

 资源:
   -名称:openSAPHANA5_00-uaa
     类型:com.sap.xs.uaa
     参数:
       config_path:./xs-security.json
   -名称:hdi-container
     特性:
        hdi-container-name:$ {服务名称}
     类型:com.sap.xs.hdi-container
   -名称:CrossSchemaService
     类型:org.cloudfoundry.existing-service
     参数:
       服务名称:CROSS_SCHEMA_SFLIGHT_00
     特性:
       sflight-service-name:$ {service-name}


 

我在SFLIGHT.hdbgrants中引用了此服务密钥

 {
   " hdi-sflight-service":{
     " object_owner":{
       " schema_privileges":[
         {
           " reference":" SFLIGHT",
           " privileges_with_grant_option":[" SELECT"," SELECT METADATA"]
         }
       ]
     },
     " application_user":{
       " schema_privileges":[
         {
           " reference":" SFLIGHT",
           " privileges_with_grant_option":[" SELECT"," SELECT METADATA"]
         }
       ]
     }
   }
 }
 

构建时出现错误:

错误:找到多个服务定义

任何帮助将不胜感激。

谢谢!

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

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


我对SAP HANA上的开放SAP课程软件开发(练习Q4/2016)的练习2.5感到困惑。

在本练习中,首先使用命令行界面定义用于访问SFLIGHT模式的用户定义服务:

xs杯子CROSS_SCHEMA_SFLIGHT_00 -p" {\"主机\":\" vhcalhexdb \",\"端口\":\" 30015 \",\"用户\":\" XSA_DEV \",\"密码\ ":\" xxx \",\"驱动程序":\" com.sap.db.jdbc.Driver \",\"标签\":[\" hana \"],\" schema \":\" SFLIGHT \"}"

然后,mta.yaml中的键hdi-sflight-service引用了此服务:

 _schema版本:" 2.0"
 编号:openSAPHANA5
 说明:openSAP HANA5组01
 版本:0.0.1


 模块:
 -名称:网络
   类型:html5
   路径:网络
   要求:
       -名称:openSAPHANA5_00-uaa
      
 -名称:core-db
   类型:hdb
   路径:core-db
   要求:
    -名称:hdi-container
      特性:
         目标容器:〜{hdi-container-name}
    -名称:CrossSchemaService
      组:SERVICE_REPLACEMENTS
      特性:
        关键:hdi-sflight-service
        服务:〜{sflight-service-name}

 资源:
   -名称:openSAPHANA5_00-uaa
     类型:com.sap.xs.uaa
     参数:
       config_path:./xs-security.json
   -名称:hdi-container
     特性:
        hdi-container-name:$ {服务名称}
     类型:com.sap.xs.hdi-container
   -名称:CrossSchemaService
     类型:org.cloudfoundry.existing-service
     参数:
       服务名称:CROSS_SCHEMA_SFLIGHT_00
     特性:
       sflight-service-name:$ {service-name}


 

我在SFLIGHT.hdbgrants中引用了此服务密钥

 {
   " hdi-sflight-service":{
     " object_owner":{
       " schema_privileges":[
         {
           " reference":" SFLIGHT",
           " privileges_with_grant_option":[" SELECT"," SELECT METADATA"]
         }
       ]
     },
     " application_user":{
       " schema_privileges":[
         {
           " reference":" SFLIGHT",
           " privileges_with_grant_option":[" SELECT"," SELECT METADATA"]
         }
       ]
     }
   }
 }
 

构建时出现错误:

错误:找到多个服务定义

任何帮助将不胜感激。

谢谢!

付费偷看设置
发送
2条回答
一只江湖小虾
1楼 · 2020-09-26 16:31.采纳回答

该错误告诉我您错过了练习2.1中的第9步。

HDB模块还可以具有多个关联的数据库资源。 但是,它只能有一个主要资源,这是它将创建的所有数据库开发对象的目标。 稍后,我们将添加更多资源以进行跨容器访问。 这要求我们将此资源设置为TARGET_CONTAINER,以将其描述为该模块的主要数据库资源。
属性:
TARGET_CONTAINER:〜{hdi-container-name}
保存mta.yaml文件。

检查core_db模块的定义,并确保已正确设置TARGET_CONTAINER。 这告诉系统要将两个DB连接中的哪个连接作为HDI部署的主要连接。 此错误告诉您模块具有多个服务定义,而该服务定义不知道哪个应该是主要的。

clever101
2楼-- · 2020-09-26 16:34

啊,很奇怪。 我不知道为什么我写了target-container而不是TARGET_CONTAINER,但是我当然不是自己发明这个的。。

无论如何,非常感谢!

一周热门 更多>