Access a Classic Schema from SAP Business Application Studio
本文主题:从 SAP Business Application Studio 中的 HDI 容器访问 classical schema 或复制 schema 中的数据。
本教程旨在成为跨容器访问的示例。选择简单的数据模型和加载机制来模拟使用 SAP Landscape Transformation 或 ABAP 模式等工具复制的模式。
使用以下代码创建 schema 和用户。 您还将创建一个简单的表,用作跨容器访问的示例。
您将创建一个 SQL 角色并将其分配给具有之前手动授予的权限的用户 PLUSR。 此用户将用于 HDI 容器和普通模式之间的连接,并将该角色授予 HDI 容器技术用户。
CREATE SCHEMA "PLAIN";
CREATE USER PLUSR PASSWORD "HanaRocks01" SET USERGROUP DEFAULT;
ALTER USER PLUSR DISABLE PASSWORD LIFETIME;
CREATE ROW TABLE "PLAIN"."REGIONS" ( REGION NVARCHAR(5), DESCRIPTION NVARCHAR(100) );
CREATE ROLE CCROLE;
grant SELECT, UPDATE, INSERT, DELETE, EXECUTE, SELECT METADATA ON SCHEMA "PLAIN" TO CCROLE with grant option;
grant CCROLE to PLUSR with admin option;
执行 SQL,遇到如下错误信息:
Could not execute 'CREATE SCHEMA "PLAIN"'
Error: (dberror) [258]: insufficient privilege: Detailed info for this error can be found with guid '5BB2F4D670E04D4FBE1D380DE6B7AF43'
可以执行如下存储过程,查看该 guid 对应的权限错误明细:
call SYS.GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS ('7D14EECAF183444BB24540D8939821A4', ?)
解决方案:需要使用具有足够权限的数据库用户来执行上述 SQL 语句。
例如,DBADMIN 用户下的数据库资源,只有用户 DBADMIN 可以访问:
切换用户为 DBADMIN 之后,权限错误消失:
您已在 SAP HANA 数据库中创建了一个 plain schema. 在 SAP Business Application Studio 中创建数据库模块时,会自动生成一个 HDI 容器。
下图是执行系统存储过程 GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS 的结果:
成功创建了一个名为 PLAIN 的 schema:
schema owner:DBADMIN
这里能看到 SAP HANA cloud 的 endpoint,可以通过 Node.js 等编程语言访问:
将下列这个链接的 csv 文件下载到本地,导入 PLAIN schema 的 REGIONS 数据库表:
https://raw.githubusercontent...
正在导入:
import 成功了:
我们现在有了一个包含表和数据的 schema,还创建了一个名为 PLUSR 的用户,该用户具有对该 schema 执行基本操作的权限。
现在,您将创建一个用户提供的服务,以通过 Business Application Studio 中 HANA DB 项目中的用户 PLUSR 访问该 schema.
点击 add database connection:
刷新之后,CC_ACCESS 已经成为 HANA projects 的一部分了。
还可以使用 Business Application Studio Command 命令面板,创建新的 HANA Database Artifact:
比如我们创建一个类型为 SQL View,即 hdbview 的 artifacts:
VIEW "RegionTextsView"
(REGION, DESCRIPTION )
as select REGION, DESCRIPTION
from REGIONS
创建成功:
更多Jerry的原创文章,尽在:"汪子熙":
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。