Db2 on Cloud / Db2WoC への CLPPlus 接続手順

# 1. はじめに

**Db2 on Cloud**、および **Db2 Warehouse on Cloud**（以下**Db2WoC**と表記）には、様々な接続方法が用意されています。

以下に、サポートされている接続方法をいくつか挙げます。

+ **CLPを使用した接続**
+ **Command line processor plus (CLPPlus)を使用した接続**
+ **REST API を使用した接続**
+ **プログラム言語を使用した接続**
+ **IBM/サード・パーティーのツールからの接続**

接続には、サポートされているドライバーがインストール済みである必要があります。

ドライバー・パッケージには、CLPPlusなどのクライアント・アプリケーションを Db2 on Cloud/ Db2WoC データベースに接続するためのソフトウェアが含まれており、Webコンソールよりダウンロードすることができます。


本記事では、Db2 on Cloud / Db2WoC への **Command line processor plus (CLPPlus)接続方法**について 紹介します。

参考情報：
・[[Db2 on Cloud] CLPPlus の Db2 データベースへの接続](https://www.ibm.com/docs/ja/db2oc?topic=integration-connecting-clpplus)
・[[Db2 Warehouse on Cloud] CLPPlus の Db2 データベースへの接続](https://www.ibm.com/docs/ja/db2woc?topic=integration-connecting-clpplus)

CLPPlus接続以外の接続方法については、
[「補足（その他の接続方法）」](https://qiita.com/Haruka-Ogawa/items/9aa0c14e695d7d68e3de#%E8%A3%9C%E8%B6%B3%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E6%8E%A5%E7%B6%9A%E6%96%B9%E6%B3%95)項目をご参照ください。

# 2. 準備

環境は、**Db2 on Cloud / Db2WoC** を準備します。
各製品のプラン, 見積もり, は作成は以下リンク先のカタログをご参照ください。

**＜Db2 on Cloud＞**
・[IBM Cloud カタログ] Db2
https://cloud.ibm.com/catalog/services/db2

**＜Db2WoC＞**
・[IBM Cloud カタログ] Db2 Warehouse on Cloud
https://cloud.ibm.com/catalog/services/db2-warehouse

Db2 on Cloud・Db2WoCどちらも、接続手順は同じです。
Webコンソールの [管理]メニュー > [接続]タブ にて、各OSからの接続手順が確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/071c2ae0-3184-d186-a3cd-5b217398f23a.png)

以降、Db2 on Cloud環境を使用して、接続手順を記述します。

# 3. 接続手順

ここでは、Windows PC から Db2 on Cloud への CLPPlus接続方法について 記述します。
(※ Db2WoC でも基本的に手順は同じになります。）

## 3-1. ドライバー・パッケージ 導入

### (1) ダウンロード

Webコンソールの [管理]メニュー > [接続]タブの、各OSからの接続手順画面にて、
[ドライバー・リスト]をクリックして、各OS用のドライバー・パッケージをダウンロードします。
ここでは、**ibm_data_server_driver_package_win64_v11.5.exe（Windows用 ドライバー・パッケージ）** をダウンロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/1df7118c-548a-85e9-2a64-a32b52810c96.png)


### (2) インストール

ダウンロードしたファイルを実行して、ドライバーをインストールします。
Windowsの場合、**ibm_data_server_driver_package_win64_v11.5.exe** を実行します。

ibm_data_server_driver_package_win64_v11.5.exe を実行すると、
以下のような画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/8edf3060-76d9-5e08-1390-85eb358c4499.png)

[次へ]をクリックし、セットアップを進めます。
無事セットアップが完了すると、以下のような画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/8e29b6ac-43d1-3bba-c91d-39c80103748f.png)

また、**db2cli**コマンドを使用するため、
PATH 環境変数 に ドライバーのインストール・ディレクトリーの binディレクトリーを設定しておきます。

Windows PCにおけるPATH 環境変数の設定は、[システム詳細設定]で行うことができます。
ウィンドウ右下の[環境変数]をクリックし、環境変数を追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/d8d8f8c6-4062-d067-3710-26124d52c0bf.png)


## 3-2. 接続

### (1) SSL証明書 インポート

SSL接続をするために、SSL証明書を インポートしておきます。

SSL証明書は、Webコンソールの [管理]メニュー > [接続]タブ の [SSL証明書のダウンロード]をクリックすると 取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/c4c44ac1-9552-4eb4-7110-e01e6c2db4c1.png)

### (2) 構成ファイル設定

IBM Data Server Driver 構成ファイル（**db2dsdriver.cfg**）を設定します。
db2dsdriver.cfg は、以下に配置されています。

+ **AIX、HP-UX、Linux、Solaris** : *＜instance_path＞*/cfg
+ **Windows** : C:¥ProgramData¥IBM¥DB2¥*＜driver_copy_name＞*¥cfg

**db2cli writecfg** コマンドを実行し、db2dsdriver.cfgに新規エントリーを作成し、接続設定をします。
コマンドは、Webコンソールの [管理]メニュー > [接続]タブ の 手順 にて確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/d0cc9d46-9605-d45d-6481-0a8429cf4481.png)

ここでは、Webコンソールで確認した 以下コマンドを実行します。（※<ホスト名>は伏せています。）

```
db2cli writecfg add -database bludb -host <ホスト名> -port 30300
db2cli writecfg add -dsn dashdb -database bludb -host <ホスト名> -port 30300
db2cli writecfg add -database bludb -host <ホスト名> -port 30300 -parameter "SecurityTransportMode=SSL"
```

実行例は以下の通りです。

```
> db2cli writecfg add -database bludb -host <ホスト名> -port 30300

===============================================================================
db2cli writecfg completed successfully.
===============================================================================

> db2cli writecfg add -dsn dashdb -database bludb -host <ホスト名> -port 30300

===============================================================================
db2cli writecfg completed successfully.
===============================================================================

> db2cli writecfg add -database bludb -host <ホスト名> -port 30300 -parameter "SecurityTransportMode=SSL"

===============================================================================
db2cli writecfg completed successfully.
===============================================================================

```

### (3) 接続確認


db2dsdriver.cfgの設定が完了したら、
**db2cli validate**コマンドを発行して、接続テストを実行します。
ユーザー名、パスワードは、Webコンソールの [管理]メニュー > [接続]タブ の「接続構成リソース」にて確認できます。
（項目名が違うかもしれないので、ご確認下さい。）

コマンド構文は以下の通りです。（※ ＜DBエイリアス名＞<ユーザー名><パスワード>は伏せています。）

```
db2cli validate -dsn <DBエイリアス名> -connect -user <ユーザー名> -passwd <パスワード>
```

**[SUCCESS]** が表示されたら、接続テストは成功です。

実行例は以下の通りです。（※＜DBエイリアス名＞は"dashdb"に設定しています。）

```
> db2cli validate -dsn dashdb -connect -user <ユーザー名> -passwd <パスワード>

===============================================================================
Client information for the current copy (copy name: IBMDBCL1):
===============================================================================

Client Package Type       : IBM Data Server Driver Package
Client Version (level/bit): DB2 v11.5.0.1077 (s1906101300/64-bit)
Client Platform           : NT 64BIT
Install/Instance Path     : C:\PROGRA~1\IBM\IBMDAT~1

Common App Data Path      : C:\ProgramData\IBM\DB2\IBMDBCL1
DB2DSDRIVER_CFG_PATH value: <not-set>
db2dsdriver.cfg Path      : <Common App Data Path>\cfg\db2dsdriver.cfg
DB2CLIINIPATH value       : <not-set>
db2cli.ini Path           : <Common App Data Path>\cfg\db2cli.ini
db2diag.log Path          : <Common App Data Path>\db2diag.log

===============================================================================
List of all IBM Data Server client packages on the current workstation:
===============================================================================

～～～（省略）～～～

===============================================================================
Connection attempt for data source name "dashdb":
===============================================================================

[SUCCESS]

===============================================================================
The validation is completed.
===============================================================================

```

### (4) 接続

db2dsdriver.cfg のエントリーを使用してDb2へ接続し、
CLPPlus を開始するには 次のコマンドを実行します。

・Windows、Macの場合
```
clpplus <ユーザー名>@<DBエイリアス名>
```

・Linuxの場合
```
clpplus -nw <ユーザー名>@<DBエイリアス名>
```

コマンドを実行すると、以下の画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/b3234597-14ef-8705-0c69-b5e59e750bf7.png)

パスワードを入力すると、Db2へ接続されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174250/74609f76-b20b-70f3-8e00-8af82fc99d9f.png)



# 4. おわりに

今回は、Db2 on Cloud / Db2 Warehouse on Cloud へのCLPPlus接続方法について 紹介しました。

Webコンソールでは、環境に合わせた接続手順やリソースが 表示されていますので、
実行の際には、そちらも参照すると良いでしょう。


# 補足（その他の接続方法）

冒頭に挙げた Db2 on Cloud/Db2Wocへの接続方法について、
詳細は以下リンク先をご参照ください。

+ **CLPを使用した接続**
参考情報：
・[[IBM Cloud資料：Db2 on Cloud] IBM ツールへの接続](https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-connect_ibm&locale=ja)
・[[IBM Cloud資料：Db2 Warehouse on Cloud] IBM ツールへの接続](https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-connect_ibm)
+ **REST API を使用した接続**
参考情報：
・[[Db2 on Cloud] REST API](https://www.ibm.com/docs/ja/db2oc?topic=programmatically-rest-api)
・[[IBM Cloud資料：Db2 on Cloud] REST API](https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-con_rest_api)
・[[Db2 Warehouse on Cloud] REST API](https://www.ibm.com/docs/ja/db2woc?topic=programmatically-rest-api)
・[[IBM Cloud資料：Db2 Warehouse on Cloud] REST API](https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-con_rest_api)
+ **プログラム言語を使用した接続**
参考情報：
・[[Db2 on Cloud] プログラムによる接続](https://www.ibm.com/docs/ja/db2oc?topic=db2-connecting-programmatically)
・[[IBM Cloud資料：Db2 on Cloud] ドライバー・パッケージを使用したプログラムによる接続](https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-con_program)
・[[Db2 Warehouse on Cloud] プログラムによる接続](https://www.ibm.com/docs/ja/db2woc?topic=db2-connecting-programmatically)
・[[IBM Cloud資料：Db2 Warehouse on Cloud] ドライバー・パッケージを使用したプログラムによる接続](https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-con_program)
+ **IBM/サード・パーティーのツールからの接続**
参考情報：
・[[Db2 on Cloud] IBM またはサード・パーティーのツールの Db2 データベースへの接続](https://www.ibm.com/docs/ja/db2oc?topic=db2-connecting-third-party-tools)
・[[IBM Cloud資料：Db2 on Cloud] IBM ツールへの接続](https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-connect_ibm)
・[[IBM Cloud資料：Db2 on Cloud] サード・パーティー・ツールとの接続](https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-connect_3rd_party)
・[[Db2 Warehouse on Cloud] IBM またはサード・パーティーのツールの Db2 データベースへの接続](https://www.ibm.com/docs/ja/db2woc?topic=db2-connecting-third-party-tools)
・[[IBM Cloud資料：Db2 Warehouse on Cloud] IBM ツールへの接続](https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-connect_ibm)
・[[IBM Cloud資料：Db2 Warehouse on Cloud] サード・パーティー・ツールとの接続](https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-connect_3rd_party)


# 参考情報

・[Db2 on Cloud]Connecting CLPPlus to a Db2 database
https://www.ibm.com/docs/en/db2oc?topic=integration-connecting-clpplus

・[IBM Cloud資料：Db2 on Cloud]ドライバー・パッケージ
https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-drvr_pkg

・[Db2 Warehouse on Cloud]Connecting CLPPlus to a Db2 database
https://www.ibm.com/docs/en/db2woc?topic=integration-connecting-clpplus

・[IBM Cloud資料：Db2 Warehouse on Cloud]Db2 Warehouse on Cloud ドライバー・パッケージ
https://cloud.ibm.com/docs/Db2whc?topic=Db2whc-dr_pkg