SuperAPI AI 工具集

sap-hana-cli

数据与分析

查看项目

更新于 10-15 15:45

技能介绍

SAP HANA Developer CLI(hana-cli)是一个以开发者为中心的 SAP HANA 数据库命令行界面,特别适合在 VS Code 等非 SAP 工具环境中使用。仓库地址为 https://github.com/SAP-samples/hana-developer-cli-tool-example,npm 包为 https://www.npmjs.com/package/hana-cli。当前版本为 3.202405.1(2024 年 4 月),要求 Node.js ≥20.19.0。

用途 该工具用于 SAP HANA 数据库开发与管理,包括连接数据库、检查数据库对象、执行查询、管理 HDI 容器,以及进行 SAP BTP 和 HANA Cloud 相关操作。

主要能力 数据库对象检查:inspectTable(别名 it、table)检查表结构,inspectView 检查视图定义,inspectProcedure 检查存储过程,inspectFunction 检查函数定义;tables、views、procedures、functions 分别列出对应对象。 查询执行:querySimple(别名 qs)执行 SQL 查询,callProcedure(别名 cp)执行存储过程,hdbsql 直接执行 SQL。 HDI 容器管理:containers(别名 cont)列出 HDI 容器,createContainer 创建容器,dropContainer 删除容器,activateHDI 启用 HDI 服务,adminHDI 管理 HDI 权限。 云与 BTP 操作:hanaCloudInstances 列出 HANA Cloud 实例,hanaCloudStart 启动实例,hanaCloudStop 停止实例,btp 配置 BTP CLI,btpInfo 显示 BTP 目标信息。 输出格式:--output/-o 选项支持 17 种以上格式,包括 tbl(默认,人类可读表格)、json、yaml、csv、excel、cds、hdbcds、hdbtable、sql、edmx、openapi、graphql。 其他特性:支持 HANA、PostgreSQL、SQLite 后端;缺少参数时自动交互提示;支持服务密钥认证;许多命令有浏览器 UI 版本(后缀 UI),如 tablesUI、containersUI、massConvertUI、querySimpleUI、systemInfoUI。

使用方式 安装:npm install -g hana-cli(全局安装),安装后可用 hana-cli version 验证。 首次连接:交互式设置 hana-cli connect;或直接指定 hana-cli connect -n "hostname:port" -u DBUSER -p PASSWORD --save;HANA Cloud 可用 hana-cli connectViaServiceKey。 连接凭据搜索顺序:default-env-admin.json(配合 --admin 标志)、.cdsrc-private.json(通过 cds bind)、含 VCAP_SERVICES 的 .env 文件、--conn 参数指定的文件、当前或父目录的 default-env.json、~/.hana-cli/default.json。连接模板参见 templates/default-env.json。 MCP 集成:通过 hana-mcp-server 实现自然语言数据库操作。需配置环境变量(HANA_HOST、HANA_PORT、HANA_USER、HANA_PASSWORD,可选 HANA_ENCRYPT、HANA_DATABASE、HANA_CONNECTION_TYPE)。连接类型包括 single-container(默认)、mdc-system、mdc-tenant。MCP 工具包括 list_schemas、list_tables、describe_table、query、sample_data、system_info。捆绑的 MCP 配置固定 hana-mcp-server@0.3.4;因服务器接收 HANA 租户连接环境变量,修改固定版本前应参考 sap-dependency-security。 常见工作流示例:检查表结构 hana-cli inspectTable -s MYSCHEMA -t MYTABLE;转换为 CDS hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds;批量转换 hana-cli massConvert -s MYSCHEMA;查询并导出 JSON hana-cli querySimple -q "SELECT * FROM MYTABLE" -o json;导出 Excel hana-cli querySimple -q "SELECT * FROM MYTABLE" -o excel -f ./output -n report;列出容器 hana-cli containers;创建容器 hana-cli createContainer -c MY_CONTAINER -g MY_GROUP;创建容器用户 hana-cli createContainerUsers -c MY_CONTAINER。

适用场景 适合探索性查询与即席分析(推荐 MCP)、学习数据库结构(推荐 MCP)、快速数据采样(推荐 MCP);也适合自动化脚本与 CI/CD 管道、生成 CDS/EDMX/OpenAPI 输出、复杂多步骤工作流(推荐 CLI)。

限制与依赖 要求 Node.js ≥20.19.0,使用 @sap/cds 9.4.4,@sap/cds-dk 需 ≥8.9 以支持 cds bind。连接问题可用 hana-cli status 检查连接状态,或使用显式凭据和 --encrypt true,也可通过 --trustStore 指定 SSL 证书。权限错误可用 hana-cli privilegeError 诊断,或 hana-cli inspectUser 查看当前用户信息。详细的 91 个命令参考见 references/command-reference.md,安全连接见 references/connection-security.md,HDI 管理见 references/hdi-management.md,输出格式见 references/output-formats.md,云操作见 references/cloud-operations.md,数据库检查见 references/db-inspection.md,批量操作见 references/mass-operations.md,系统管理见 references/system-admin.md,Web UI 见 references/web-ui.md,故障排查见 references/troubleshooting.md,开发环境见 references/development-environment.md,ABAP 编程模式见 references/abap-programming.md。

相关技能:sap-cap-capire(CAP 数据库开发、HDI 容器管理、CDS 语法比较)、sap-btp-cloud-platform(HANA Cloud 操作、BTP 集成、云实例管理)、sap-abap-cds(比较 CAP 与 ABAP 的 CDS 语法或理解 HANA CDS 特性)、sap-datasphere(SAP Datasphere 集成或数据仓库场景)、sap-dependency-security(安全依赖升级、精确 MCP 服务器固定、npm 包加固、锁文件检查、冷却策略)。

资源链接:GitHub 仓库、介绍视频 https://youtu.be/dvVQfi9Qgog、Cloud Shells 演示 https://youtu.be/L7QyVLvAIIQ、SAP HANA Cloud 文档 https://help.sap.com/docs/hana-cloud、SAP CAP 文档 https://cap.cloud.sap/docs/。