【SAP HANA Cloud】DBクライアントツール（DBeaver等）からSAP HANA Cloudに接続できない原因

# 概要
受託開発企業で働くfussasyといいます。普段は、SAP BTP（PaaS）上でSAP Fioriアプリケーション開発をしています。参画しているプロジェクトにおける資料作成のために、DBクライアントツールであるDBeaverを利用してSAP HANA Cloud（SAP HANA Schemas & HDI Containers）へ接続しようとしたところ、「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」と接続エラーが発生してしまったので、事象と原因について記録したいと思います。

# 事象
1. HDIコンテナーのインスタンスを準備
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/25bbe2a0-b3fe-33a4-592f-0500dc335549.png)
2. インスタンスでサービスキーを作成し、「host」、「port」、「user」、「password」の情報を控える。（ダブルコーテーションは不要です。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/6218e69b-67ba-2dc5-5de2-5d2713285ebf.png)
3. インストールしたDBeaverで新規接続する際、「HANA」を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/c729b29e-1ad4-200e-b593-08f5e0ac803f.png)
4. 「一般」タブから「Edition」を「HANA Cloud」にする。「host」、「port」、「user」、「password」を入力してテスト接続する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/6a0e0902-fcab-1011-2f64-ba216b57ca7c.png)
5. 「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」と接続エラーが発生してしまう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/07f6204e-ff69-36bb-0c42-c76e7e2ce90a.png)

>SAP DBTech JDBC: Cannot connect to jdbc:sap://
...
:443 [Data receive failed. java.io.IOException: 確立された接続がホスト コンピューターのソウトウェアによって中止されました。: 
192.168.0.xxx:xxx -> xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.hana.prod-jp10.hanacloud.ondemand.com:443 ConnectionID:0 SessionID:0].

※一部、伏字にしています。


# 原因
https://community.sap.com/t5/technology-blogs-by-sap/secure-connection-from-dbeaver-to-sap-hana-cloud/ba-p/13446553
上記記事によると、DBクライアントツールを用いて、SAP HANA Cloudインスタンスへ接続するためには、SAP BTP管理者に連絡してIPアドレスを**ホワイトリストに登録**してもらわないといけないみたいです。
>SAP HANA Cloud...
... is the new cloud-native SAP HANA product, used in my previous post or in the recent live coding episode by thomas.jung.
Two quick notes before we start:
>1. As of today, it is available only as a paid service in SAP Cloud Platform, but (usual disclaimer about forward-looking statement applies) the trial version should be available later this year.
>2. As a reminder, the IP address of a machine from which a DB client tries to connect to SAP HANA Cloud instance -- should be whitelisted by your administrator.

また、記事によると、プロパティで「encrypt=true」を設定しないと接続ができない場合もあるみたいです。

>"Receive of connect failed."? Why? Of course, you know, if you read the previous post
**Clients can establish only secure connections to SAP HANA Cloud!**
Let's add this ***encrypt*** parameter to the connection. Unfortunately, this is where I found DBevaer UI somewhat unintuitive.
Switch to Driver properties and right-click on User Properties to add a new property.
>Unfortunately, DBevar did not allow me to put ***encrypt=true*** just right here. Instead, I added ***encrypt*** property, and then (it took me half an hour to figure our) double-click next to my property in Value column to edit. Type ***true*** there.

# 結果
VPNツールでIPアドレスを固定化し、管理者に連絡して、そのIPアドレスをホワイトリストに登録してもらいました。その後、テスト接続を実行してみたところ、無事にSAP HANA Cloudに接続することができました！良かった！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1727556/1f84e044-d1b5-06b6-99c0-90abdbc16a01.png)

# 補足・参考
本件で利用したDBeaverはDBeaver Communityとなります。DBeaver Communityは無料版ですがOSSとなりますのでバージョンリリースサイクルも早く、前バージョンとの差異は利用者自身で確認しなければいけません。以下、DBeaver Communityのリリースノートと、Issuesになります。

https://dbeaver.io/category/releases/

https://github.com/dbeaver/dbeaver/issues?q=is%3Aclosed+milestone%3A24.0.5