天天看點

SAP HANA學習(三)建立使用者并賦權限

前兩章已經可以通過使用者

SYSTEM

eclipse

中通路了

接下來将:

建立使用者

HANA_TPCH

并将 HPC-H 中的資料導入該使用者對應的

SCHEMA

SCHEMA就相當于 mysql中的資料庫,oracle中的表空間

HPC-H中的資料

權限配置

選中一個檔案夾,然後點選SQL,就能出現sql查詢輸入框

SAP HANA學習(三)建立使用者并賦權限

一:建立使用者建表

# 建立使用者
CREATE USER HANA_TPCH PASSWORD Xing1234 NO FORCE_FIRST_PASSWORD_CHANGE;
           

登陸後,在Catalog下便會有對應使用者的

SCHEMA

建表:

表的描述

CREATE TABLE NATION  ( N_NATIONKEY  INTEGER NOT NULL,
                            N_NAME       CHAR(25) NOT NULL,
                            N_REGIONKEY  INTEGER NOT NULL,
                            N_COMMENT    VARCHAR(152));

CREATE TABLE REGION  ( R_REGIONKEY  INTEGER NOT NULL,
                            R_NAME       CHAR(25) NOT NULL,
                            R_COMMENT    VARCHAR(152));

CREATE TABLE PART  ( P_PARTKEY     INTEGER NOT NULL,
                          P_NAME        VARCHAR(55) NOT NULL,
                          P_MFGR        CHAR(25) NOT NULL,
                          P_BRAND       CHAR(10) NOT NULL,
                          P_TYPE        VARCHAR(25) NOT NULL,
                          P_SIZE        INTEGER NOT NULL,
                          P_CONTAINER   CHAR(10) NOT NULL,
                          P_RETAILPRICE DECIMAL(15,2) NOT NULL,
                          P_COMMENT     VARCHAR(23) NOT NULL );

CREATE TABLE SUPPLIER ( S_SUPPKEY     INTEGER NOT NULL,
                             S_NAME        CHAR(25) NOT NULL,
                             S_ADDRESS     VARCHAR(40) NOT NULL,
                             S_NATIONKEY   INTEGER NOT NULL,
                             S_PHONE       CHAR(15) NOT NULL,
                             S_ACCTBAL     DECIMAL(15,2) NOT NULL,
                             S_COMMENT     VARCHAR(101) NOT NULL);

CREATE TABLE PARTSUPP ( PS_PARTKEY     INTEGER NOT NULL,
                             PS_SUPPKEY     INTEGER NOT NULL,
                             PS_AVAILQTY    INTEGER NOT NULL,
                             PS_SUPPLYCOST  DECIMAL(15,2)  NOT NULL,
                             PS_COMMENT     VARCHAR(199) NOT NULL );

CREATE TABLE CUSTOMER ( C_CUSTKEY     INTEGER NOT NULL,
                             C_NAME        VARCHAR(25) NOT NULL,
                             C_ADDRESS     VARCHAR(40) NOT NULL,
                             C_NATIONKEY   INTEGER NOT NULL,
                             C_PHONE       CHAR(15) NOT NULL,
                             C_ACCTBAL     DECIMAL(15,2)   NOT NULL,
                             C_MKTSEGMENT  CHAR(10) NOT NULL,
                             C_COMMENT     VARCHAR(117) NOT NULL);

CREATE TABLE ORDERS  ( O_ORDERKEY       INTEGER NOT NULL,
                           O_CUSTKEY        INTEGER NOT NULL,
                           O_ORDERSTATUS    CHAR(1) NOT NULL,
                           O_TOTALPRICE     DECIMAL(15,2) NOT NULL,
                           O_ORDERDATE      DATE NOT NULL,
                           O_ORDERPRIORITY  CHAR(15) NOT NULL,  
                           O_CLERK          CHAR(15) NOT NULL, 
                           O_SHIPPRIORITY   INTEGER NOT NULL,
                           O_COMMENT        VARCHAR(79) NOT NULL);

CREATE TABLE LINEITEM ( L_ORDERKEY    INTEGER NOT NULL,
                             L_PARTKEY     INTEGER NOT NULL,
                             L_SUPPKEY     INTEGER NOT NULL,
                             L_LINENUMBER  INTEGER NOT NULL,
                             L_QUANTITY    DECIMAL(15,2) NOT NULL,
                             L_EXTENDEDPRICE  DECIMAL(15,2) NOT NULL,
                             L_DISCOUNT    DECIMAL(15,2) NOT NULL,
                             L_TAX         DECIMAL(15,2) NOT NULL,
                             L_RETURNFLAG  CHAR(1) NOT NULL,
                             L_LINESTATUS  CHAR(1) NOT NULL,
                             L_SHIPDATE    DATE NOT NULL,
                             L_COMMITDATE  DATE NOT NULL,
                             L_RECEIPTDATE DATE NOT NULL,
                             L_SHIPINSTRUCT CHAR(25) NOT NULL,
                             L_SHIPMODE     CHAR(10) NOT NULL,
                             L_COMMENT      VARCHAR(44) NOT NULL);


           

表已建好

SAP HANA學習(三)建立使用者并賦權限

二:建立檔案夾

1.在

Content

檔案夾下沒有檢視權限;

錯誤提示:

insufficient privilege(EXECUTE on REPOSITORY_REST)

在管理者使用者

SYSTEM

使用者下執行:

# 授權
GRANT EXECUTE ON REPOSITORY_REST to HANA_TPCH;
           

右鍵檔案夾重新整理

Refresh

2.在

Content

包下建立檔案夾

使用使用者 SYSTEM 在 Content 下建立檔案夾: com.it.hana

給使用者

HANA_TPCH

賦權限:

GRANT REPO.READ ON _SYS_REPO."com.it.hana" TO HANA_TPCH;
GRANT REPO.EDIT_NATIVE_OBJECTS ON _SYS_REPO."com.it.hana" TO HANA_TPCH;
GRANT REPO.ACTIVATE_NATIVE_OBJECTS ON _SYS_REPO."com.it.hana" TO HANA_TPCH;
GRANT REPO.MAINTAIN_NATIVE_PACKAGES ON _SYS_REPO."com.it.hana" TO HANA_TPCH;

GRANT EXECUTE ON REPOSITORY_REST to HANA_TPCH;
GRANT REPO.ACTIVATE_IMPORTED_OBJECTS on _SYS_REPO."com.it.hana" to HANA_TPCH;
GRANT REPO.MAINTAIN_IMPORTED_PACKAGES on _SYS_REPO."com.it.hana" to HANA_TPCH;
GRANT REPO.EDIT_IMPORTED_OBJECTS on _SYS_REPO."com.it.hana" to HANA_TPCH; 
           
GRANT SELECT ON SCHEMA "_SYS_BI" TO HANA_TPCH;

GRANT EXECUTE ON SCHEMA "_SYS_BI" TO HANA_TPCH;

GRANT SELECT ON SCHEMA "_SYS_BIC" TO HANA_TPCH;

GRANT EXECUTE ON SCHEMA "_SYS_BIC" TO HANA_TPCH;
           

HANA_TPCH

使用者下執行

接下來我們就可以模組化了;