Start your free trial
地址:https://www.sap.com/products/hana/express-trial.html
SAP开发工具地址: https://tools.hana.ondemand.com/#cloud
SAP开发工具地址提供了HANA安装和使用中所需的各种资源的信息
Download Manager (DM) 下载地址:
Linux DM
Windows DM
Platform-independent DM
Windows版DM安装包: HXEDownloadManager_win.exe
Linux/x86-64
Virtual Machine
自定义配置下载文件需要保存的本地地址
Getting Started with SAP HANA, express edition (Virtual Machine Method) 是官方提供的快速使用文档(下载后的文件名为:Getting_Started_HANAexpress_VM.pdf),本文档就是基于该文档精简优化而来的,建议勾选下载,以供后续查阅。
Server only virtual machine 是官方配置的最精简的虚拟机,除了HANA数据库之外没有其他SAP应用,下载后是 hxe.ova,它的配置是 8G内存、100G硬盘、2个处理器。
Server + applications virtual machine 是官方提供的一个虚拟机,除了HANA数据库之外还有 XS Advanced, Web IDE, and SAP HANA Cockpit 等应用,下载之后是 hxexsa.ova,它的配置是 16G内存、100G硬盘、2个处理器。
其他下载项的说明请查看 Getting_Started_HANAexpress_VM.pdf 中的介绍。
如果电脑内存资源不足,建议选择 Server only virtual machine 以及 Getting Started with SAP HANA, express edition (Virtual Machine Method) 这两项即可。
导入中
官方提供的虚拟机是默认使用桥接网络的,若你的VMware虚拟网卡设置的是NAT模式,则此处需要改为NAT模式。本文档默认都是使用NAT模式,若使用桥接模式,请注意做相应的修改。
使用默认的 English(US),输入n不修改
改成 Asia/Shanghai,输入y,开始修改
修改完成,选择OK回车,窗口打印出修改后的时区等信息,以及SAP HANA的版本信息、虚拟机的host名称、IP地址等。最后一行进入账户登录的命令行。
之后连接此虚拟机就是使用上面打印的IP地址
使用默认的账户和密码 hxeadm / HXEHana1
密码还是 HXEHana1
设置自己的新密码
密码要求:至少8个字符、至少一个大写字母、至少一个小写字母、至少一个数字
密码可以和上面设置的hxeadm密码一样,也可以不一样
选择y,继续系统开始自动配置,等待配置完成,此时基本配置已经完成。
查看一些虚拟机运行的状态,验证HANA数据库嫩能够正常提供使用
使用 ps -ef | grep hdb
或者 HDB info
命令查看hdbnameserver,hdbcompileserver,hdbpreprocessor,hdbwebdispatcher等进程
ps -ef | grep hdb 命令
HDB info 命令
查看此处的IP地址是否和虚拟机初始化的时候的IP地址一致
查看是否可以连通外网,以及域名解析是否成功
执行命令 systemctl status firewalld
初始登录HANA数据库使用 SYSTEM 用户,密码是之前设置的 HANA database master password。
登录方式有两种:
(1)指定host和port
# 指定实例号
hdbsql -i 90 -d SystemDB -u SYSTEM -p
(2)指定host和port
# 指定实例号
hdbsql -n localhost:39013 -d SystemDB -u SYSTEM -p <password>
实例号 90 是固定值,安装文件中就是HDB90 (路径:/usr/sap/HXE/HDB90)
-d SystemDB 是指定数据库,不加此项也可以登录,暂时没有找到官方说明。带有此项参数登录,命令行显示
hdbsql SYSTEMDB=>
,使用\s
命令查询状态中会有一项dbname: SystemDB
;如果不带此项参数登录,命令行就显示hdbsql >
,使用\s
命令查询状态中不会有dbname
这一项。
执行 \h
查看帮助
hdbsql SYSTEMDB=> \h
\? or \h[elp] show help on internal slash commands
\q[uit] quit HDBSQL
\c[onnect] -i <instance number>
-n <host>[:<port>]
-d <database name>
-u <user_name>
-p <password>
-U <user_store_key>
connecting to the database
\di[sconnect] disconnecting from the database
\mu[ltiline] [ON|OFF] toggle the multiline mode on or off
\a[utocommit] [ON|OFF] switch autocommit mode on or off
\m[ode] [INTERNAL|SAPR3] change SQL mode
\cl[ientinfo] [property=value[;...]] send client info
\ps [ON|OFF] toggle the usage of prepared statements on or off
\es [ON|OFF] toggle the escape output format on or off
\o[utput] <filename> send all query results to file, double quotes around filename are allowed
\i[nput] <filename> read input from file, double quotes around filename are allowed
\ie[ncoding] <encoding> force input encoding, one of "ASCII", "UCS2", "UTF8"
\hi[story] <size> number of commands to keep in history buffer (default: 50)
\p[rint] print out the current query buffer (only multiline mode)
\read <filename> read input from file, double quotes around filename are allowed
\r[eset] reset (clear) the query buffer (only multiline mode)
\e[dit] <filename> edit the query buffer (or file) with external editor (only multiline mode)
\g[o] send query buffer to server and print out the results (only multiline mode)
; send query buffer to server and print out the results (only multiline mode)
\al[ign] [ON|OFF] toggle the aligned output on or off
\pa[ger] [ON|OFF] toggle page by page scroll output on or off
\f[ieldsep] <separator> use <separator> as the field separator
\qto <seconds>
\querytimeout <seconds> set the query timeout for executed commands to <seconds>
\s[tatus] print out host, database, user etc.
\dc [PATTERN] list columns
\de [PATTERN] list indices
\dp [PATTERN] list procedures
\ds [NAME] list schemas
\dt [PATTERN] list tables
\du [NAME] list users
\dv [PATTERN] list views
[PATTERN] = [OWNER.][OBJECT NAME] eg. <username>.%A%
\vd <variable name> <value> Define a SQL Script Variable <variable name> to be replaced with <value>
\vu <variable name> <value> Undefine a previously defined SQL Script Variable <variable name>
\vl list all SQL Script variables that have been defined
\vc clear all SQL Script variables that have been defined
\ve ON|OFF set SQL Script variable escaping with \ on or off
\vs ON|OFF turn SQL Script variable replacement on or off
\vp ON|OFF turn SQL Script variable prompting on or off when undefined variables are encountered
hdbsql SYSTEMDB=>
在hdbsql命令行中可以使用以上的命令进行相应的操作或者直接编写执行sql语句。
系统是数据库超级用户,不用于生产系统的日常活动。为了提高安全性,您可以创建其他数据库用户,只需他们所需的任务特权(例如用户管理),然后停用 SYSTEM 用户。
sudo su -l hxeadm
# 创建用户
hdbsql -i 90 -d SystemDB -u SYSTEM -p "" "CREATE USER PASSWORD NO FORCE_FIRST_PASSWORD_CHANGE;"
# 赋予权限
hdbsql -i 90 -d SystemDB -u SYSTEM -p "" "GRANT USER ADMIN TO WITH ADMIN OPTION;"
hdbsql -i 90 -d SystemDB -u -p "" "ALTER USER SYSTEM DEACTIVATE USER NOW;"
如果需要登录SYSTEM用户,需要先启用SYSTEM账户
hdbsql -i 90 -d SystemDB -u -p "" "ALTER USER SYSTEM ACTIVATE USER NOW;"
上面 7.3 创建新用户和停用系统用户 是官方示例
下面给出登录进HANA数据库后使用SQL创建和删除用户的最简命令
-- 创建用户
-- CREATE USER tiger PASSWORD Tiger2021;
-- 使用 NO FORCE_FIRST_PASSWORD_CHANGE 后,登录之后不再要求修改密码
CREATE USER user_name PASSWORD user_password NO FORCE_FIRST_PASSWORD_CHANGE;
-- 删除用户
-- 加上 CASCADE 表示删除输入当前用户的所有的对象
DROP USER user_name CASCADE;
第一次连接HANA,HANA会在others中
第一次连接,会先下载驱动
测试成功后会显示已连接
选择一个schema,就可以在其中创建表了
下载得到压缩包 clients_windows.zip
双击hdbsetup.exe,选择安装的位置
默认执行下一步安装
安装完成
安装完成后,电脑环境变量中会增加添加相应的环境变量。
See these Tutorials:
○ Connect to SAP HANA, express edition using JDBC
○ Connect to SAP HANA, express edition using Python
Connect Using the SAP HANA JDBC Driver 中主要介绍了
How to install Java (如何安装java)
How to create and debug a Java application that queries a SAP HANA database (如何创建和调试连接有SAP HANA数据库的java程序)
How to connect to SAP HANA in
DBeaver
using the SAP HANA JDBC driver (如何使用JDBC驱动在DBeaver中连接SAP HANA数据库)需要注意的是:这些是针对 SAP HANA 来说的,不完全针对SAP HANA 2.0 快速版,有些地方可能不适用。
Connect to SAP HANA Using Python 中主要介绍了
- How to install the SAP HANA client driver for Python (如何安装适用于python的SAP HANA客户端驱动)
- How to install the client driver using a virtual environment (optional) (如何使用虚拟环境安装客户端驱动(可选))
- How to connect to an instance of SAP HANA (如何连接一个SAP HANA 实例)
- How to use environment variables to provide connection parameters (如何使用和环境变量提供连接参数)
中央仓库依赖: https://mvnrepository.com/artifact/com.sap.cloud.db.jdbc/ngdbc
JAR包下载地址:https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc
进入 hdbclient 安装目录下 (例如:D:\Program Files\sap\hdbclient)
打开CMD窗口
执行命令,连接 SAP HANA 数据库
hdbsql -n host:39013 -d SystemDB -u SYSTEM -p
执行与hdbsetup.exe在统一目录下的 hdbuninst.exe ,按照提示完成卸载即可。
SAP HANA Studio的安装和卸载与HANA Client 基本一样,暂时没有找到HANA studio的官方下载地址,此处使用的是网络资源。
在开始菜单中找到并启动 SAP HANA Studio
指定一个工作空间路径
进入欢迎窗口
关闭欢迎窗口,进入systems窗口
添加System
填写服务器host和HANA示例号,实例号90是固定值
填写HANA用户名和密码,初次使用SYSTEM用户测试
连接成功
之后就可以对HANA进行界面画的操作了
B站上有在SAP HANA Studio下操作的全套SQL视频,但是是纯英语讲解的。
SAP HANA SQL_哔哩哔哩_bilibili
通过Widows的程序管理卸载或者使用安装包中的 hdbuninst.exe
卸载后重新安装可能有问题,可能是注册表没有清理,也可能需要重新解压未改动过的压缩包。
本文参考 搭建SAP HANA2.0学习环境 和 官方文档 Getting Started with SAP HANA 2.0, express edition (Virtual Machine Method) ,在此鸣谢!