mcpField
S
sap-hana-cli

sap-hana-cli

github.com/secondskyデータ・データベース480732 回インストール3 週間前に更新
リポジトリ

sap-hana-cli について

データベース構造の確認、クエリ実行、HDI コンテナ管理、クラウド操作に対応する開発者向け SAP HANA コマンドラインツールです。対話的なデータベース探索に使う hana-mcp-server 連携も説明しています。

主な機能

  1. 01データベースオブジェクトの確認とクエリ実行
  2. 02HDI コンテナのライフサイクル管理
  3. 0317 種類以上の形式へのエクスポート
  4. 04HANA Cloud と BTP リソースの操作
  5. 05対話形式の接続設定

活用シーン

  1. 01スキーマとテーブルメタデータの確認
  2. 02クエリ結果を JSON や Excel に出力
  3. 03データベース構造を CDS または OpenAPI に変換
  4. 04開発環境での HDI コンテナ管理

MCP 対応

README では、hana-mcp-server を介し、Claude などの MCP クライアントから自然言語でデータベースを探索する連携を説明しています。スキーマ・テーブル検索、メタデータ確認、クエリ、サンプルデータ、システム情報のツールが挙げられています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/sap-skills --skill sap-hana-cli

インストール後、Claude Code で/sap-hana-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
agents/
openai.yaml
references/
abap-programming.md
cloud-operations.md
command-reference.md
connection-security.md
db-inspection.md
development-environment.md
hdi-management.md
mass-operations.md
output-formats.md
system-admin.md
troubleshooting.md
web-ui.md
templates/
cdsrc-private.json
default-env.json

詳細

SAP HANA 開発者向け CLI(hana-cli)

関連スキル

  • 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:プロジェクトに hana-cli の依存関係が含まれる場合の、安全な依存関係のアップグレード、MCP サーバーの正確なバージョン指定、npm パッケージの強化、ロックファイルの lint、クールダウンポリシーに使用します

SAP 以外のツール環境(特に VS Code)での利用に適した、SAP HANA データベース開発者向けのコマンドラインインターフェースです。

リポジトリ: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


目次

クイックスタート

インストール
# Install globally via npm (recommended)
npm install -g hana-cli

# Verify installation
hana-cli version
最初の接続
# 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 統合(AI によるデータベース操作)

概要

hana-mcp-server との統合により、Claude の Model Context Protocol を通じて自然言語でデータベースを操作できます。従来の CLI コマンドと会話形式のクエリを組み合わせ、開発ワークフロー全体を実現します。

セットアップ

同梱の MCP 設定では [email protected] にバージョンを固定しています。このサーバーは HANA テナントの接続環境変数を受け取るため、このバージョン指定を変更する前に sap-dependency-security を使用してください。

1. 環境変数

必須の設定(/.zshrc、/.bashrc、またはプロジェクトの .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. 接続タイプ
  • single-container(デフォルト):標準的な HANA データベース
  • mdc-system:マルチテナントシステムのデータベース
  • mdc-tenant:マルチテナント環境の特定のテナント
使い分け:CLI と MCP
シナリオ推奨ツール理由
探索的なクエリ、アドホック分析MCP自然言語で利用でき、構文を覚える必要がありません
自動化スクリプト、CI/CD パイプラインCLIスクリプトで利用でき、一貫した出力が得られます
データベース構造の学習MCP会話形式で調査できます
CDS/EDMX/OpenAPI 出力の生成CLI17 以上の形式に対応しています
複雑な複数ステップのワークフローCLI細かく制御できます
手早いデータのサンプリングと検査MCP1 回限りのクエリを素早く実行できます
自然言語クエリの例
スキーマとテーブルの検出
  • 「この HANA データベースのすべてのスキーマを表示して」
  • 「SYSTEM スキーマのすべてのテーブルを一覧表示して」
  • 「MY_APP スキーマにはどのようなテーブルがある?」
  • 「PUBLIC スキーマのすべてのビューを表示して」
テーブル構造とメタデータ
  • 「USERS テーブルの構造を説明して」
  • 「ORDERS テーブルにはどのような列がある?」
  • 「MY_TABLE のデータ型を表示して」
  • 「CUSTOMERS テーブルの主キーは何?」
データのサンプリングと検査
  • 「PRODUCTS テーブルから 5 行サンプリングして」
  • 「SALES_DATA の先頭 10 件のレコードを表示して」
  • 「ORDER_ITEMS テーブルのサンプルデータを取得して」
  • 「MY_TABLE の数行を表示して」
クエリの実行
  • 「CUSTOMERS テーブルには何行ある?」
  • 「ORDERS の STATUS 列にある一意の値を表示して」
  • 「PRODUCTS の PRICE 列の最大値は?」
  • 「USERS から country が 'USA' のレコードをすべて検索して」
システムのパフォーマンスと監視
  • 「HANA データベースのステータスを確認して」
  • 「システムのパフォーマンス指標を表示して」
  • 「現在のデータベースのバージョンは?」
MCP ツール一覧

hana-mcp-server は、次の MCP ツールを提供します。

  • list_schemas:すべてのスキーマを列挙します
  • list_tables:スキーマ内のテーブルを表示します
  • describe_table:テーブルの構造とメタデータを取得します
  • query:自然言語から SQL クエリを実行します
  • sample_data:サンプル行を取得します
  • system_info:データベースの状態とパフォーマンスを表示します
例:MCP + CLI ワークフロー
# 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

主なコマンドカテゴリ

データベースオブジェクトの調査
コマンドエイリアス用途
inspectTableit, tableテーブル構造を調査
inspectView-ビュー定義を調査
inspectProcedure-ストアドプロシージャを調査
inspectFunction-関数定義を調査
tables-スキーマ内のすべてのテーブルを一覧表示
views-スキーマ内のすべてのビューを一覧表示
procedures-ストアドプロシージャを一覧表示
functions-関数を一覧表示
クエリの実行
コマンドエイリアス用途
querySimpleqsSQL クエリを実行
callProcedurecpストアドプロシージャを実行
hdbsql-SQL を直接実行
HDI コンテナの管理
コマンドエイリアス用途
containerscontHDI コンテナを一覧表示
createContainer-コンテナを新規作成
dropContainer-コンテナを削除
activateHDI-HDI サービスを有効化
adminHDI-HDI 権限を管理
クラウドと BTP の操作
コマンドエイリアス用途
hanaCloudInstances-HANA Cloud インスタンスを一覧表示
hanaCloudStart-クラウドインスタンスを起動
hanaCloudStop-クラウドインスタンスを停止
btp-BTP CLI を設定
btpInfo-BTP のターゲット情報を表示

出力形式

--output / -o オプションは、17 種類以上の形式に対応しています。

形式用途
tbl人が読みやすいテーブル(デフォルト)
jsonJSON データ
yamlYAML 形式
csvCSV エクスポート
excelExcel ファイル
cdsCAP CDS 定義
hdbcdsHANA CDS 形式
hdbtableHDB Table 定義
sqlSQL DDL 文
edmxOData EDMX メタデータ
openapiOpenAPI/Swagger 仕様
graphqlGraphQL スキーマ

接続設定

接続資格情報は、次の優先順位で検索されます。

  1. default-env-admin.json(--admin フラグ指定時)
  2. .cdsrc-private.json(cds bind 経由)
  3. VCAP_SERVICES を含む .env ファイル
  4. --conn パラメーターで指定したファイル
  5. 現在のディレクトリまたは親ディレクトリにある default-env.json
  6. ~/.hana-cli/default.json

接続テンプレートについては、templates/default-env.json を参照してください。


一般的なワークフロー

テーブルを調査して CDS に変換
# Inspect table structure
hana-cli inspectTable -s MYSCHEMA -t MYTABLE

# Convert to CDS format
hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds
スキーマオブジェクトを一括変換
# Convert all objects in schema to CDS
hana-cli massConvert -s MYSCHEMA
クエリを実行してエクスポート
# 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
HDI コンテナを管理
# 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 コマンド

多くのコマンドには、ブラウザベースの UI 版(末尾に UI を付加)があります。

  • tablesUI - テーブルを視覚的に閲覧
  • containersUI - ブラウザーでコンテナを管理
  • massConvertUI - 視覚的な一括変換
  • querySimpleUI - クエリビルダーインターフェース
  • systemInfoUI - システムダッシュボード

主な機能

  • マルチデータベース対応:HANA、PostgreSQL、SQLite のバックエンド
  • 形式変換:CDS、EDMX、OpenAPI を含む 17 種類以上の出力形式
  • HDI 管理:コンテナのライフサイクル全体を管理
  • クラウド連携:SAP BTP CLI および HANA Cloud に対応
  • 対話型プロンプト:不足しているパラメーターを自動的に確認
  • サービスキー認証:安全なクラウド認証

詳細リファレンス

詳細なドキュメントについては、以下を参照してください。

  • 全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を参照

トラブルシューティング

接続の問題
# 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
権限エラー
# Diagnose privilege errors
hana-cli privilegeError

# View current user info
hana-cli inspectUser
バージョンの互換性
  • Node.js:≥20.19.0 が必要です
  • @sap/cds:9.4.4 を使用します
  • @sap/cds-dk:cds bind には ≥8.9 が必要です

同梱リソース

リファレンスドキュメント
  • references/command-reference.md - すべてのオプションを含む完全なコマンドリファレンス
  • references/abap-programming.md - ABAP 固有のプログラミングパターン
  • references/development-environment.md - 開発環境のセットアップとガイダンス
  • references/connection-security.md - セキュアな接続と認証情報の取り扱い
  • references/troubleshooting.md - よくあるエラーと復旧手順
テンプレート
  • templates/default-env.json - CAP スタイルのバインディング用ローカル接続テンプレート
  • templates/cdsrc-private.json - CAP のプライベート設定テンプレート

リソース


最終更新:2025-11-26 | バージョン:1.1.0

コメント