试用SAP BTP 02C:试用SAP HANA Schemas HDI Containers
检查HANA实例
从BTP登录HANA Cloud Central,启动HANA实例
在配置页签确认实例映射信息,此处映射的环境应与HDI的环境一致
若此处没有映射信息,就在此创建映射
获得HANA实例ID
准备数据
打开 HANA Cloud Center
打开HANA Database Explorer
在Catalog上右键,点击导入Catalog对象
从本地选择文件sflight_hana.tar.gz导入
导入完成,查看导入的表
查看表数据
准备权限
打开 HANA Cloud Center
打开 SQL 控制台,连接HANA 实例
选择要连接的实例,点击登录
创建项目管理员用户,用于分配项目相关权限
CREATE USER PJ_GRANTOR PASSWORD "Password1" NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;
创建角色genericRoleForOO 用于分配项目相关数据库对象权限,创建角色genericRoleForAP
用于分配项目用户权限
分配相关权限
-- Assign privileges that these roles should grant
GRANT SELECT ON SCHEMA SFLIGHT TO "genericRoleForOO" WITH GRANT OPTION;
GRANT SELECT ON SCHEMA SFLIGHT TO "genericRoleForAP";
-- Allow PJ_GRANTOR to grant the respective roles
GRANT "genericRoleForOO" to PJ_GRANTOR WITH ADMIN OPTION;
GRANT "genericRoleForAP" to PJ_GRANTOR WITH ADMIN OPTION;
创建HDI容器
登录BTP控制台创建SAP HANA Schemas & HDI Containers
配置实例参数,下一步
配置HDI参数,其中SCHEMA是设置的SCHEMA名称,database_id是上面复制的HANA实例ID
检查确认,点击创建
查看创建的HDI实例
准备开发工具
给用户分配SAP Business Application Studio权限
勾选BAS相关权限,点击分配
打开SAP BAS
在BAS页面,点击创建开发空间
输入空间名称,选择空间类型,点击 创建
等待空间状态变为Running
点击空间名称,进入开发空间
创建HANA项目
点击从模板创建项目
选择SAP HANA Database Project
输入项目名称,点击下一步
输入模块名称,点击下一步
配置HANA数据库类型及Container类型,点击下一步
使用默认的CF Endpoint,使用SSO登录,点击连接,生成SSO码
在打开的窗口选择使用默认的IDP登录
复制生成的SSO登录码
将码填入,点击登录
登录成功后,选择相应的CF组织和空间,点击应用
将此项目绑定到前面创建的HDI Container Service,点击完成
项目创建完成,项目结构如下图
创建数据库连接,用于访问数据库内相关对象
配置相关参数,点击添加
管理项目权限
将文件内容整体替换为
{"MyUPS": {"object_owner": {"global_roles": [{"roles": ["genericRoleForOO"]}]},"application_user": {"global_roles": [{"roles": ["genericRoleForAP"]}]}}
}
部署项目
显示部署成功
创建计算视图
调出命令面板
选择创建HANA数据库对象
输入相关参数,点击创建
创建计算视图并部署
在项目目录中,右键视图,预览数据
SQL预览效果
图形化预览效果
在 HDI 容器内查看
计算视图授权
确认计算视图在 HDI 容器内的名称
在项目中创建角色(将此视图的权限分配给此角色)
分配查询和执行权限,将角色部署
创建测试用户
CREATE USER report PASSWORD Password1 NO FORCE_FIRST_PASSWORD_CHANGE set usergroup default;
给用户分配权限
GRANT HDI_DEV."ZR_CV_AUTHS" to report;
切换用户,测试数据
CONNECT report PASSWORD Password1;
SELECT TOP 1000"MANDT","CARRID","CONNID","FLDATE","BOOKID","CUSTOMID","INSTNO","PAYMETH","CURRENCY","ARCHIVE_",SUM("AMOUNT") AS "AMOUNT"
FROM "HDI_DEV"."ZCV_001"
GROUP BY "MANDT", "CARRID", "CONNID", "FLDATE", "BOOKID", "CUSTOMID", "INSTNO", "PAYMETH", "CURRENCY", "ARCHIVE_"