Db2 Warehouse とアプリケーションを接続してみた（Dbeaver,SPSS）

# **IBM Db2 Warehouseとは？**
Db2 Warehouse(旧 IBM dashDB Local )は、分析用DWHソフトウェアアプライアンスです。

別記事「[Db2 Warehouse SMP構成(シングルノード) x86版 を導⼊してみた](https://qiita.com/m1914uk/items/9e7573dd7f20e31735b5)」の後、
アプリケーション接続をためしてみました。

## **導入環境**
導入環境の情報です。
Windows7端末からDbeaverとSPSS Statisticsで接続しています。

- Red Hat Enterprise Linux v7.4 
- Docker Community Edition v18.03
- Db2 Warehouse x86版 v2.7(接続先データベース)
- Windows 7 Professional
- Dbeaver 5.0.3
- SPSS Statistics Subscription  

## **Db2 Warehouse 導入の流れ**
Db2 WarehouseのWebコンソールからクライアント用ドライバーをダウンロードできます。
ダウンロードしたドライバーでDb2 Warehouseへ接続してみます。

- Step01. クライアント⽤ドライバーの導入
- Step02. Dbeaverからの接続(JDBC)
- Step03. SPSSからの接続(ODBC)

## **Step01. クライアント⽤ドライバーの導入**

### **1).Webコンソールへ接続**
ブラウザを起動し、「https://<Db2 WarehouseのIPアドレス>:8443/console」にアクセスします。
DB管理ユーザ(bluadmin)のユーザー名とパスワードを⼊⼒し、ログインします。

### **2).クライアント⽤ドライバーのダウンロード**
サイドメニューから「CONNECT」 - 「Connection Information」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/1fbb0549-44e5-45a8-7218-917cbeff16a6.png)

端末にインストールするので、「Windows」を選択します。
表示された「Download Windows Driver Package」ボタンをクリックします。
ブラウザ設定のフォルダへインストーラーがダウンロードされました。

右に表示されている接続情報を後で使うので情報を控えます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/c0afe09d-e952-891a-7578-82dcbaf27940.png)


### **3).クライアント⽤ドライバーのインストール**

ダウンロードした「ibm_data_server_driver_package_win64.exe」をダブルクリックします。
インストール手順は省略します。
これでドライバーの導入は完了です。

## **Step02. Dbeaverからの接続(JDBC)**

ダウンロードしたドライバーでDb2 Warehouseへ接続します。
まずDbeaverでJDBC接続を試してみましょう。

### **1).接続設定の作成**

「Dbeaver」を起動します。
メニューから「Database」 - 「New Connection」を選択して設定を開始します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/94b8aa9c-6d22-5225-0e1e-5300fd4e442e.png)

### **2).接続設定**

接続先から「DB2 LUW」を選択します。
「Next」ボタンをクリックします。


![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/9a382f71-7aec-5e03-f530-b78887c86f1d.png)

Webコンソールで表示された情報を入力し、「Next」ボタンをクリックします。
検証環境はポート変換を行っていたので、別のポート番号を指定しています。

|項目名|設定値|
|:---|:---|
|Host:|Webコンソール（Host name）|
|Database:|Webコンソール（Database name）|
|Port:|Webコンソール（Port number）|
|User name:|Webコンソール（User ID）|
|Password:|Webコンソール（Password）|

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/2cc2381a-34a0-aabc-624e-0bc08bd163c0.png)

### **3).JARファイルの指定**

「Test Connection」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/a310ce5f-6ebd-cf74-498f-83a3af23714d.png)

インストールしたドライバーを使いたいので、「Add JARs」ボタンをクリックします。
エクスプローラーが起動後、「db2jcc4.jar」の場所を指定します。
デフォルトですと「C:\Program Files\IBM\IBM DATA SERVER DRIVER\java\db2jcc4.jar」になりますね。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/93545638-88ff-9e5a-c12b-057ea631b51a.png)



### **4).JDBC接続の設定**

JARファイルを指定すると、JDBC接続の編集画面が起動します。
URL 文字列テンプレートに、Webコンソールへ表示された「JDBC string」を転記します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/9d3c69a9-d96e-91c3-6a94-beedd8aa22ec.png)


### **5).JDBC接続の確認**

もう一度、「Test Connection」ボタンをクリックすると・・・
「Connected」のポップアップが来ました。
接続成功ですね。
「Finish」ボタンをクリックして設定を終了します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/f2f6ed77-2f6d-77ac-9b53-dce312095026.png)


### **6).DbeaverからのSQL実行**

DbeaverからSQLを実行します。
結果も取得できました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/45f947a1-d360-d3a3-6e0b-869184dcefbb.png)

## **Step03. SPSSからの接続(ODBC)**

JDBC接続ができたので次はSPSSでODBC接続を試してみましょう。

### **1).接続設定の作成**

「SPSS Statistics」を起動します。
「新規データベース照会」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/3b5feb8e-df48-12d8-be3f-dd3a8e320a1e.png)

「ODBCデータソースを追加」ボタンをクリックします。
動かないなぁと思ったら裏に「ODBC アドミニストレーター」が起動していました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/49895201-2a1e-435f-7bab-6b70935b6809.png)

### **2).ODBC接続の作成**

「追加」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/e0e95be5-d3db-a4a6-8a8b-eccb3a69b793.png)

「IBM DB2 ODBC DRIVER」を選択します。
「完了」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/797c3454-dbdf-e0a9-f53a-841ee3bb4e3a.png)

「データ・ソース名」に「BLUDB」を入力します。
「追加」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/fb6c2b6d-7a99-788e-e933-8fba3b793bea.png)

### **3).ODBC接続の設定**

「データ・ソース」タブを選択します。
「ユーザID」と「パスワード」を入力します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/155f8563-629a-2ab3-eff4-db6b35269e9f.png)

「TCP/IP」タブを選択します。
下記情報を入力し、「OK」ボタンをクリックします。
検証環境はポート変換を行っていたので、別のポート番号を指定しています。

**マニュアルでは「詳細設定」タブからパラメータをひとつずつ設定する手順になっています。**
**そちらではうまく行かなかったので「TCP/IP」タブの設定で対応しています。**

|項目名|設定値|
|:---|:---|
|データベース名|Webコンソール（Database Name）|
|ホスト名|Webコンソール（Host Name）|
|ポート番号|Webコンソール（Port Number）|

### **4).ODBC接続の確認**

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/fa51a3cb-22e3-9924-1bed-bb52a72ee406.png)

「構成」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/9db60ea1-85c1-d659-7560-5afc7dcbbf97.png)

「ユーザーID」、「パスワード」を入力します。
「接続」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/1a4bdf7f-4448-bfad-60d0-3062b4857148.png)

接続できました。
「OK」ボタンを押して、「ODBC アドミニストレーター」を終了します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/9f6ba37f-9f68-eb2a-94f6-7d5074aa06da.png)

### **5).SPSSからのデータ取得**

SPSSのGUIへ戻ります。
ODBCデータソースに「BLUDB」が表示されました。
こちらを選択して「次へ」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/5674dde5-a7c0-81bd-beb9-61f5445498dc.png)

ログイン情報を入力し、「OK」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/7298d46a-3ab0-7015-5735-83fbc87b9881.png)

テーブルを選択して・・・

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/1f089734-e041-c0ed-7cad-eda0e0bb9ff3.png)

データ取得できました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/255671/d8541344-a754-4aa6-6760-533cd8a25b5b.png)


## **終わりに**
以上、アプリケーションからの接続でした。

Webコンソールからクライアント用ドライバーをダウンロード・・・
対応バージョンを調べたり、ダウンロードページを探さなくていいのが嬉しいですね。

## **参考にした情報**

- [IBM またはサード・パーティーのツールの Db2 データベースへの接続(⽇本語版)](https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.doc/connecting/connect_from_external_applications.html)

- [Db2 Warehouse 運用管理ガイド](https://ibm.ent.box.com/s/udacq42x8fcqwkez3r6vk1lkrluftzxe/file/273387085675)