访问交叉容器时生成hdbs同义词时出现生成错误

2020-09-04 05:44发布

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

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


尊敬的社区成员,

我正在尝试在同一应用中访问多个HDI。 我浏览了一些在线可用的资料,例如SAP Hana Academy的有关访问跨容器数据的资料。 我尝试创建2个不同的HDI,并创建了.hdbroles来访问这两个HDI。 在创建赠款步骤之前,它已成功构建。 在最后一个步骤中,我需要创建一个.hdbgrants,但最初确实给了我生成错误,但是通过更改命名空间,我可以通过某些方式构建.hdbgrants文件。 发布上述步骤后,我继续创建.hdbsynonym文件,该步骤失败了,我无法找到问题。 请帮助! 。 错误如下:

"(HDB)生成命令失败:hdi-build操作失败:部署失败,退出代码:1

(HDB)生成/myApp/db3失败。 "

随附的是Project文件夹和mta.yaml的图像

mtayaml-for-myapp.txt

.hdbsynonym文件具有以下代码:

{

" myApp.db3 :: synonyms.vendor_score":{

"目标":{

"对象":" myApp2.db :: tables.vendor_score",

"模式":" VENDORAPP2"

}

},

" myApp.db3 :: synonyms.vendor_purchasing":{

"目标":{

"对象":" myApp2.db :: tables.vendor_purchasing",

"模式":" VENDORAPP2"

}

}

}

.hdbgrants具有以下代码:

{

" logical-myApp2-grantor":{

" object_owner":{

" container_roles":[" myApp2.db :: external_access2_g#"]

},

" application_user":{

" container_roles":[" myApp2.db :: external_access2"]

}

}

}

这是控制台日志:

4:20:12 PM(执行程序)"用于hdb构建的任务"过程开始。

4:20:12 PM(执行员)开始执行" hdb构建任务"条款。

下午4:20:17(提供)模块的服务设置:"/img/db3"

4:20:17 PM(供应)将不会为" org.cloudfoundry.existing-service"类型的" myApp-grantor"资源创建服务实例。

4:20:17 PM(提供)(资源)资源'myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P'的服务实例'myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P'已经存在,将不执行任何操作。

4:20:21 PM(执行员)开始过程:" cd/projects/myApp/db3;导出DEVX_MTA_RESOLVED_PLACEHOLDERS =" {\" services \":[{\" platformName \":\" hdi_db2 \",\ " resourceName \":\" myApp-grantor \",\" resourceProperties \":{\" SERVICE_REPLACEMENTS \":[{\" key \":\" logical-myApp2-grantor \",\" service \": \" hdi_db2 \"}]},\" resourceType \":\" org.cloudfoundry.existing-service \",\" serviceKeyName \":\" SharedDevKey \",\" serviceTarget \":{\" endpoint \ ":\" https://api.XX.XXX.hana.ondemand.com \",\" org \":\" XXXXXXXXXXXXXXXXXXXX_XXX-XXXX-XX-XXX-XXXXXXX-001 \",\"空格\": \" XX-XXXX-X-XXX-XXXXXXX-001-000-100 \"}},{\" platformName \":\" myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P \",\" resourceName \":\ " myApp-db1 \",\" resourceProperties \":{\" TARGET_CONTAINER \":\" myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P \"},\" resourceType \":\\ com.sap.xs.hdi -container \",\" serviceKeyName \":\" SharedDevKey \",\" serviceTarget \":{\" endpoint \":\" https://XXX.XX.XXX.hana.ondemand.com \", \" org \":\" XXXXXXXXXXXXXXXXXXXXXX_XXX-XXXX-XX-XXX-XXXXXXXX-001 \" ,\" space \":\" XX-XXXX-D-XXX-XXXXXXX-001-000-100 \"}}]}""; 导出CF_HOME =/projects/.webide/cf/cc2f4af9937d925c673ced7cf7c70d57; export DEVX_MTA_HDI_BUILD_OPTIONS =" {\" IsSelectiveBuild \":false,\" SelectedFiles \":[],\" IsSimulateBuild \":false,\" AdditionalOptions \":{\" migrationtable-development-mode \":false}} "; 导出PROJECT_PATH =/projects/myApp/db3; mkdir -p $ CF_HOME/.cf/plugins/&& cp -u $ CF_PLUGIN_PATH/config.json $ CF_HOME/.cf/plugins/config.json 2>/dev/null || :; hdi-space-builder build"

4:20:21 PM(HDB)执行生成命令:

4:20:21 PM(HDB)HDI BUILDER版本:1.1.8-20190718065855 4:20:21 PM(HDB)临时文件夹创建于:/tmp/hdispacebuilder269144865

4:20:21 PM(HDB)开始hdiBuild之前的操作...

4:20:23 PM(HDB)正在创建模块zip ...

4:20:23 PM(HDB)模块目录为:/projects/myApp/db3

4:20:23 PM(HDB)在/projects/myApp/db3上执行NPM脚本

4:20:23 PM(HDB)压缩文件夹.....

创建4:20:24 PM(HDB)zip文件:/tmp/hdispacebuilder269144865/db.zip

4:20:31 PM(HDB)连接到hdi部署程序通行证

4:20:35 PM(HDB)生成命令失败:hdi-build操作失败:部署失败,退出代码:1

4:20:35 PM(HDB)/myApp/db3的生成失败。

感谢与问候,

单位

myapp-project-structure.jpg (26.1 kB)

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

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


尊敬的社区成员,

我正在尝试在同一应用中访问多个HDI。 我浏览了一些在线可用的资料,例如SAP Hana Academy的有关访问跨容器数据的资料。 我尝试创建2个不同的HDI,并创建了.hdbroles来访问这两个HDI。 在创建赠款步骤之前,它已成功构建。 在最后一个步骤中,我需要创建一个.hdbgrants,但最初确实给了我生成错误,但是通过更改命名空间,我可以通过某些方式构建.hdbgrants文件。 发布上述步骤后,我继续创建.hdbsynonym文件,该步骤失败了,我无法找到问题。 请帮助! 。 错误如下:

"(HDB)生成命令失败:hdi-build操作失败:部署失败,退出代码:1

(HDB)生成/myApp/db3失败。 "

随附的是Project文件夹和mta.yaml的图像

mtayaml-for-myapp.txt

.hdbsynonym文件具有以下代码:

{

" myApp.db3 :: synonyms.vendor_score":{

"目标":{

"对象":" myApp2.db :: tables.vendor_score",

"模式":" VENDORAPP2"

}

},

" myApp.db3 :: synonyms.vendor_purchasing":{

"目标":{

"对象":" myApp2.db :: tables.vendor_purchasing",

"模式":" VENDORAPP2"

}

}

}

.hdbgrants具有以下代码:

{

" logical-myApp2-grantor":{

" object_owner":{

" container_roles":[" myApp2.db :: external_access2_g#"]

},

" application_user":{

" container_roles":[" myApp2.db :: external_access2"]

}

}

}

这是控制台日志:

4:20:12 PM(执行程序)"用于hdb构建的任务"过程开始。

4:20:12 PM(执行员)开始执行" hdb构建任务"条款。

下午4:20:17(提供)模块的服务设置:"/img/db3"

4:20:17 PM(供应)将不会为" org.cloudfoundry.existing-service"类型的" myApp-grantor"资源创建服务实例。

4:20:17 PM(提供)(资源)资源'myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P'的服务实例'myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P'已经存在,将不执行任何操作。

4:20:21 PM(执行员)开始过程:" cd/projects/myApp/db3;导出DEVX_MTA_RESOLVED_PLACEHOLDERS =" {\" services \":[{\" platformName \":\" hdi_db2 \",\ " resourceName \":\" myApp-grantor \",\" resourceProperties \":{\" SERVICE_REPLACEMENTS \":[{\" key \":\" logical-myApp2-grantor \",\" service \": \" hdi_db2 \"}]},\" resourceType \":\" org.cloudfoundry.existing-service \",\" serviceKeyName \":\" SharedDevKey \",\" serviceTarget \":{\" endpoint \ ":\" https://api.XX.XXX.hana.ondemand.com \",\" org \":\" XXXXXXXXXXXXXXXXXXXX_XXX-XXXX-XX-XXX-XXXXXXX-001 \",\"空格\": \" XX-XXXX-X-XXX-XXXXXXX-001-000-100 \"}},{\" platformName \":\" myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P \",\" resourceName \":\ " myApp-db1 \",\" resourceProperties \":{\" TARGET_CONTAINER \":\" myApp-myApp-db1-punitkumarupadhyayQfQsRsNw3JBOBM + P \"},\" resourceType \":\\ com.sap.xs.hdi -container \",\" serviceKeyName \":\" SharedDevKey \",\" serviceTarget \":{\" endpoint \":\" https://XXX.XX.XXX.hana.ondemand.com \", \" org \":\" XXXXXXXXXXXXXXXXXXXXXX_XXX-XXXX-XX-XXX-XXXXXXXX-001 \" ,\" space \":\" XX-XXXX-D-XXX-XXXXXXX-001-000-100 \"}}]}""; 导出CF_HOME =/projects/.webide/cf/cc2f4af9937d925c673ced7cf7c70d57; export DEVX_MTA_HDI_BUILD_OPTIONS =" {\" IsSelectiveBuild \":false,\" SelectedFiles \":[],\" IsSimulateBuild \":false,\" AdditionalOptions \":{\" migrationtable-development-mode \":false}} "; 导出PROJECT_PATH =/projects/myApp/db3; mkdir -p $ CF_HOME/.cf/plugins/&& cp -u $ CF_PLUGIN_PATH/config.json $ CF_HOME/.cf/plugins/config.json 2>/dev/null || :; hdi-space-builder build"

4:20:21 PM(HDB)执行生成命令:

4:20:21 PM(HDB)HDI BUILDER版本:1.1.8-20190718065855 4:20:21 PM(HDB)临时文件夹创建于:/tmp/hdispacebuilder269144865

4:20:21 PM(HDB)开始hdiBuild之前的操作...

4:20:23 PM(HDB)正在创建模块zip ...

4:20:23 PM(HDB)模块目录为:/projects/myApp/db3

4:20:23 PM(HDB)在/projects/myApp/db3上执行NPM脚本

4:20:23 PM(HDB)压缩文件夹.....

创建4:20:24 PM(HDB)zip文件:/tmp/hdispacebuilder269144865/db.zip

4:20:31 PM(HDB)连接到hdi部署程序通行证

4:20:35 PM(HDB)生成命令失败:hdi-build操作失败:部署失败,退出代码:1

4:20:35 PM(HDB)/myApp/db3的生成失败。

感谢与问候,

单位

myapp-project-structure.jpg (26.1 kB)
付费偷看设置
发送
4条回答
wang628962
1楼 · 2020-09-04 06:26.采纳回答

您好 Punit Upadhyay

首先,我认为您需要将hdbgrants移到db模块文件夹下的cfg文件夹中(与src文件夹处于同一级别)。

您是否在 Lucia Subatin 教程? /developers.sap.com/tutorials/xsa-cross-container-access.html" target =" _ blank"> SAP HANA XS Advanced-跨容器访问吗?

最后但并非最不重要的一点,我强烈建议您不要更改命名空间(存储在隐藏文件中),因为这会严重影响您的部署。

致谢

@bdel


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

嗨露西亚,

感谢您分享基于CF的跨容器访问博客。 我试图删除名称空间,尽管它给了我以下错误。 请在这里指导我。

如果我按下"修复"按钮,则会自动为命名空间添加前缀。 屏幕截图如下。

正如您所说的那样,使用名称空间非常复杂,就像我试图创建一个使用已经创建的同义词的视图一样,它给我带来了一些看起来像名称空间问题的错误。 不知道这件事。 有什么建议吗? 即使提供了同义词,它也无法定位同义词。

下面是myVendorView.hdbcds

它们的同义词已经编译并可用:

请提出建议!

感谢与问候,

Punit

天桥码农
3楼-- · 2020-09-04 06:04

嗨,Punit,

您的工件已经使用名称空间生成,因此您可以坚持使用该名称或删除现有工件,然后在不使用名称空间的情况下再次构建它们(

要删除名称空间,请单击"眼睛"图标以查看隐藏的文件。 将.hdinamespace的内容替换为:

 {
    "名称"      : ",
    " subfolder":"忽略"
 } 

如果您使用的是Web ide fullstack,请在package.json的末尾添加" --auto-undeploy",然后再次构建db模块。

如果您进入数据库浏览器,则应该看到没有名称空间的新表。

亦是此间程序员
4楼-- · 2020-09-04 06:07

嗨露西亚,

非常感谢您的帮助。 是冲突的名称空间。 删除名称空间并重新部署它可以解决此问题。 再次感谢您的支持和指导。

感谢与问候,

单位

一周热门 更多>