跳到主要内容
知仓学习社ZHICANG

sap-hana-cli

|

读凭据写文件联网严重 6 · 高危 1secondsky/sap-skills

它会碰到什么

扫了多少17 个文本文件,91 KB
它会碰到什么读凭据写文件联网
命中总数8 处
命中统计严重 6 · 高 1 · 中 0 · 低 1
逐条看命中(7 条严重或高危)
  • 严重 references/command-reference.md:608cred-paths
    Copy credentials to .env file.
  • 严重 references/connection-security.md:53cred-paths
    ### 3. .env File
  • 严重 references/troubleshooting.md:191cred-paths
    ls -la .env
  • 严重 references/troubleshooting.md:206cred-paths
    3. `.env` file
  • 严重 SKILL.md:83cred-paths
    Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):
  • 严重 SKILL.md:239cred-paths
    3. `.env` file with VCAP_SERVICES
  • README.md:22identity-config-write
    | MCP | Yes: `.mcp.json` |

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

SAP HANA Developer CLI (hana-cli)

Related Skills

  • sap-cap-capire: Use for CAP database development, HDI container management, and CDS syntax comparison
  • sap-btp-cloud-platform: Use for HANA Cloud operations, BTP integration, and cloud instance management
  • sap-abap-cds: Use for comparing CDS syntax between CAP and ABAP or understanding HANA CDS features
  • sap-datasphere: Use when working with SAP Datasphere integration or data warehousing scenarios
  • sap-dependency-security: Use for secure dependency upgrades, exact MCP server pins, npm package hardening, lockfile linting, and cooldown policy when projects include hana-cli dependencies

A developer-centric command-line interface for SAP HANA database development, particularly useful in non-SAP tooling environments like VS Code.

Repository: https://github.com/SAP-samples/hana-developer-cli-tool-example

npm Package: https://www.npmjs.com/package/hana-cli

Current Version: 3.202405.1 (April 2024)

Node.js Requirement: ≥20.19.0


Table of Contents

  • [Quick Start](#quick-start)
  • [Core Command Categories](#core-command-categories)
  • [Output Formats](#output-formats)
  • [Connection Configuration](#connection-configuration)
  • [Common Workflows](#common-workflows)
  • [Bundled Resources](#bundled-resources)

Quick Start

Installation

# Install globally via npm (recommended)
npm install -g hana-cli

# Verify installation
hana-cli version

First Connection

# Interactive connection setup
hana-cli connect

# Or specify connection directly
hana-cli connect -n "hostname:port" -u DBUSER -p PASSWORD --save

# Using service key (HANA Cloud)
hana-cli connectViaServiceKey

MCP Integration (AI-Driven Database Operations)

Overview

The hana-mcp-server integration enables natural language database operations through Claude's Model Context Protocol. Use conversational queries alongside traditional CLI commands for a complete development workflow.

Setup

The bundled MCP config pins hana-mcp-server@0.3.4. Use sap-dependency-security before changing this pin because the server receives HANA tenant connection environment variables.

1. Environment Variables

Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):

export HANA_HOST="your-hana-host.hanacloud.ondemand.com"
export HANA_PORT="443"
export HANA_USER="DBADMIN"
export HANA_PASSWORD="your-password"
export HANA_ENCRYPT="true"  # Optional, defaults to true
export HANA_DATABASE=""     # Optional, for MDC tenant
export HANA_CONNECTION_TYPE="single-container"  # Optional

2. Connection Types

  • single-container (default): Standard HANA databases
  • mdc-system: Multi-tenant system database
  • mdc-tenant: Specific tenant in multi-tenant environment

When to Use: CLI vs MCP

| Scenario | Recommended Tool | Why |

|----------|------------------|-----|

| Exploratory queries, ad-hoc analysis | MCP | Natural language, no syntax needed |

| Automation scripts, CI/CD pipelines | CLI | Scriptable, consistent output |

| Learning database structure | MCP | Conversational discovery |

| Generating CDS/EDMX/OpenAPI output | CLI | Supports 17+ formats |

| Complex multi-step workflows | CLI | Fine-grained control |

| Quick data sampling and inspection | MCP | Faster for one-off queries |

Example Natural Language Queries

Schema & Table Discovery

  • "Show me all schemas in this HANA database"
  • "List all tables in the SYSTEM schema"
  • "What tables exist in the MY_APP schema?"
  • "Show me all views in the PUBLIC schema"

Table Structure & Metadata

  • "Describe the structure of the USERS table"
  • "What columns does the ORDERS table have?"
  • "Show me the data types for MY_TABLE"
  • "What is the primary key of the CUSTOMERS table?"

Data Sampling & Inspection

  • "Sample 5 rows from the PRODUCTS table"
  • "Show me the first 10 records from SALES_DATA"
  • "Get sample data from ORDER_ITEMS table"
  • "Display a few rows from MY_TABLE"

Query Execution

  • "How many rows are in the CUSTOMERS table?"
  • "Show me distinct values in the STATUS column of ORDERS"
  • "What is the maximum value in the PRICE column of PRODUCTS?"
  • "Find all records in USERS where country is 'USA'"

System Performance & Monitoring

  • "Check the HANA database status"
  • "Show me system performance metrics"
  • "What is the current database version?"

MCP Tools Available

The hana-mcp-server provides these MCP tools:

  • list_schemas: Enumerate all schemas
  • list_tables: Show tables in a schema
  • describe_table: Get table structure and metadata
  • query: Execute SQL queries from natural language
  • sample_data: Retrieve sample rows
  • system_info: Database status and performance

Example: MCP + CLI Workflow

# 1. Use MCP to explore (natural language)
"Show me all tables in the PRODUCTS schema"

# 2. Use MCP to understand structure
"Describe the PRODUCTS.INVENTORY table"

# 3. Use CLI for format conversion (precise output)
hana-cli inspectTable -t INVENTORY -s PRODUCTS -o cds

# 4. Use CLI for HDI operations
hana-cli createContainer -c MY_CONTAINER

Core Command Categories

Database Object Inspection

| Command | Aliases | Purpose |

|---------|---------|---------|

| inspectTable | it, table | Inspect table structure |

| inspectView | - | Inspect view definition |

| inspectProcedure | - | Inspect stored procedure |

| inspectFunction | - | Inspect function definition |

| tables | - | List all tables in schema |

| views | - | List all views in schema |

| procedures | - | List stored procedures |

| functions | - | List functions |

Query Execution

| Command | Aliases | Purpose |

|---------|---------|---------|

| querySimple | qs | Execute SQL query |

| callProcedure | cp | Execute stored procedure |

| hdbsql | - | Direct SQL execution |

HDI Container Management

| Command | Aliases | Purpose |

|---------|---------|---------|

| containers | cont | List HDI containers |

| createContainer | - | Create new container |

| dropContainer | - | Remove container |

| activateHDI | - | Enable HDI service |

| adminHDI | - | Administer HDI privileges |

Cloud & BTP Operations

| Command | Aliases | Purpose |

|---------|---------|---------|

| hanaCloudInstances | - | List HANA Cloud instances |

| hanaCloudStart | - | Start cloud instance |

| hanaCloudStop | - | Stop cloud instance |

| btp | - | Configure BTP CLI |

| btpInfo | - | Display BTP target info |


Output Formats

The --output / -o option supports 17+ formats:

| Format | Use Case |

|--------|----------|

| tbl | Human-readable table (default) |

| json | JSON data |

| yaml | YAML format |

| csv | CSV export |

| excel | Excel file |

| cds | CAP CDS definitions |

| hdbcds | HANA CDS format |

| hdbtable | HDB Table definitions |

| sql | SQL DDL statements |

| edmx | OData EDMX metadata |

| openapi | OpenAPI/Swagger spec |

| graphql | GraphQL schema |


Connection Configuration

Connection credentials are searched in priority order:

  1. default-env-admin.json (with --admin flag)
  2. .cdsrc-private.json (via cds bind)
  3. .env file with VCAP_SERVICES
  4. File specified via --conn parameter
  5. default-env.json in current/parent directories
  6. ~/.hana-cli/default.json

For connection templates, see templates/default-env.json.


Common Workflows

Inspect and Convert Table to CDS

# Inspect table structure
hana-cli inspectTable -s MYSCHEMA -t MYTABLE

# Convert to CDS format
hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds

Mass Convert Schema Objects

# Convert all objects in schema to CDS
hana-cli massConvert -s MYSCHEMA

Execute Query with Export

# Run query and export to JSON
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o json

# Export to Excel file
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o excel -f ./output -n report

Manage HDI Containers

# List all containers
hana-cli containers

# Create new container
hana-cli createContainer -c MY_CONTAINER -g MY_GROUP

# Create container users
hana-cli createContainerUsers -c MY_CONTAINER

UI Commands

Many commands have browser-based UI alternatives (suffix UI):

  • tablesUI - Browse tables visually
  • containersUI - Manage containers in browser
  • massConvertUI - Visual mass conversion
  • querySimpleUI - Query builder interface
  • systemInfoUI - System dashboard

Key Features

  • Multi-database support: HANA, PostgreSQL, SQLite backends
  • Format conversion: 17+ output formats including CDS, EDMX, OpenAPI
  • HDI management: Full container lifecycle management
  • Cloud integration: SAP BTP CLI and HANA Cloud support
  • Interactive prompts: Missing parameters prompted automatically
  • Service key auth: Secure cloud authentication

Detailed References

For comprehensive documentation:

  • All 91 Commands: See references/command-reference.md
  • Connection & Security: See references/connection-security.md
  • HDI Management: See references/hdi-management.md
  • Output Formats: See references/output-formats.md
  • Cloud Operations: See references/cloud-operations.md
  • Database Inspection: See references/db-inspection.md
  • Mass Operations: See references/mass-operations.md
  • System Administration: See references/system-admin.md
  • Web UI Interface: See references/web-ui.md
  • Troubleshooting Guide: See references/troubleshooting.md
  • Development Environment: See references/development-environment.md
  • ABAP Programming Patterns: See references/abap-programming.md

Troubleshooting

Connection Issues

# Check current connection status
hana-cli status

# Test with explicit credentials
hana-cli connect -n "host:443" -u USER -p PASS --encrypt true

# Use SSL trust store
hana-cli connect --trustStore /path/to/certificate.pem

Permission Errors

# Diagnose privilege errors
hana-cli privilegeError

# View current user info
hana-cli inspectUser

Version Compatibility

  • Node.js: Requires ≥20.19.0
  • @sap/cds: Uses 9.4.4
  • @sap/cds-dk: Requires ≥8.9 for cds bind

Bundled Resources

Reference Documentation

  • references/command-reference.md - Complete command reference with all options
  • references/abap-programming.md - ABAP-specific programming patterns
  • references/development-environment.md - Development setup and environment guidance
  • references/connection-security.md - Secure connection and credential handling
  • references/troubleshooting.md - Common errors and recovery steps

Templates

  • templates/default-env.json - Local connection template for CAP-style bindings
  • templates/cdsrc-private.json - CAP private configuration template

Resources


Last Updated: 2025-11-26 | Version: 1.1.0

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 447
本站分层T2
该仓技能数45
原文件路径plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 45 个技能