LoginSignup
2
0

More than 1 year has passed since last update.

Watson Queryにclpplusで接続する

Last updated at Posted at 2022-01-05

はじめに

この記事では、Watson Queryにclpplusで接続する手順を紹介します。

手順概要

  1. ドライバーパッケージをダウンロード
  2. ドライバーパッケージをインストール
  3. 接続情報を設定
  4. clpplusで接続

環境

  • Watson Query Liteプラン (デプロイ済み)
  • Client: MacBook Air MacOS

手順

1. ドライバー・パッケージをダウンロード

IBMCloudのコンソールからWatson Queryの画面を開きます。
左側にあるメニューから「管理」を選択し、「Go to UI」を選択し、Watson Queryの管理コンソールを開きます。
image.png

Watson Queryの管理コンソールの左上にあるリストを開きます。
リストから「接続の詳細」を選びます。
image.png

「接続の詳細」の画面で、「Mac」のタブを開き、「ドライバー・リスト」のリンクの先からドライバー・パッケージをダウンロードします。
Mac用のモジュールで、出来るだけ新しいものをダウンロードします。
この手順では、v11.5.7.0をダウンロードしました。
image.png

2. ドライバー・パッケージをインストール

ダウンロードしたibm_data_server_driver_package_macos_v11.5.dmgをダブルクリックして開きます。
以下の画面が表示されるので、installDSDriverをダブルクリックして実行します。
この実行によりドライバー・パッケージが/Application/dsdriverへインストールされます。
image.png

3. 接続情報を設定

「接続の詳細」の画面で、「接続します」のボタンをクリックして、接続情報を表示します。
image.png

「SSLを使用する接続の場合」の設定内容をコピーします。右側にあるコピーのアイコンをクリックしてコピーします。
image.png

適当なテキストエディターに貼り付けます。
以下の例のように3行目のparameterの部分に、Authentication=GSSPLUGIMを追加します。<ー重要!!!

db2cli writecfg add -database bludb -host xxxx.databases.appdomain.cloud -port 30207
db2cli writecfg add -dsn dashdb -database bludb -host xxxx.databases.appdomain.cloud -port 30207
db2cli writecfg add -database bludb -host xxxx.databases.appdomain.cloud -port 30207 -parameter "SecurityTransportMode=SSL;Authentication=GSSPLUGIN"

/Applications/dsdriver/db2profileを実行してドライバーパッケージのユーティリティ実行に必要な環境変数を設定します。<ー重要!!!
環境変数の設定後、db2cliコマンドが使用できるようになるので、先程編集したコマンドを実行します。
以下は実行例です。

 % source /Applications/dsdriver/db2profile
 % db2cli writecfg add -database bludb -host xxx.databases.appdomain.cloud -port 30207
db2cli writecfg add -dsn dashdb -database bludb -host xxx.databases.appdomain.cloud -port 30207
db2cli writecfg add -database bludb -host xxx.databases.appdomain.cloud -port 30207 -parameter "SecurityTransportMode=SSL;Authentication=GSSPLUGIN"



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


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


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

db2cliコマンドでの設定内容は、/Applications/dsdriver/cfg/db2dsdriver.cfgに書き込まれます。
テキストファイルなので、catコマンドなどで設定内容を確認することが出来ます。
以下は設定内容の確認例です。

% cat /Applications/dsdriver/cfg/db2dsdriver.cfg
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<configuration>
  <databases>
    <database host="xxxx.databases.appdomain.cloud" name="bludb" port="30207">
      <parameter name="SecurityTransportMode" value="SSL"/>
      <parameter name="Authentication" value="GSSPLUGIN"/>
    </database>
  </databases>

  <dsncollection>
    <dsn alias="dashdb" host="xxxx.databases.appdomain.cloud" name="bludb" port="30207"/>
  </dsncollection>


</configuration>

4. clpplusで接続

apikeyを確認するためIBMCloudのコンソールのWatson Queryの画面で「サービス資格情報」を開きます。
サービス資格情報を開き、apikeyをコピーします。

image.png

clpplusを起動して、connect @dsnalias using (apikey xxxxx)のようにして接続します。
@dsnaliasには、db2cliで設定したdsn aliasを指定します。今回は、@dashdbになります。

以下のように接続します。

% source /Applications/dsdriver/db2profile   # 環境変数を設定していなければ実行する
% clpplus -nw                                # -nwはウィンドウを起動せずターミナル内で起動するオプション
CLPPlus: バージョン 1.6
Copyright (c) 2009, 2011, IBM CORPORATION.  All rights reserved.

SQL> connect @dashdb using ( apikey xxxxxxxxxx ) 

データベース接続情報 :
---------------------------------
ホスト名 = xxxx.databases.appdomain.cloud 
データベース・サーバー = DB2/LINUXX8664  SQL110560 
ローカル・データベース別名 = DASHDB 
ポート = 30207 

clpplusで以下のようにSQLを実行できます。

SQL> set linesize 180
SQL> select tabschema, count(*) from syscat.tables group by tabschema;

TABSCHEMA                                                                          2
-------------------------------------------------- ---------------------------------
AUDIT                                                                              8
CACHEADMIN                                                                        17
CACHESYS                                                                          10
DB2INST1                                                                           2
DVSYS                                                                             39
DV_IBMID_120000PFMV                                                                3
HIVE                                                                              78
IBMCONSOLE                                                                       269
IBM_RTMON                                                                         11
SYSCAT                                                                           159
SYSHADOOP                                                                         12
SYSIBM                                                                           184
SYSIBMADM                                                                        184
SYSPUBLIC                                                                        112
SYSSTAT                                                                            9
SYSTOOLS                                                                          24

16 個の行が取り出されました。

SQL> values user;

1                                                 
--------------------------------------------------
DV_IAM_SERVICEID_3BE108A1_09DC_4E05_A08C_D917ECF17
672                                               


DB250000I: コマンドは正常に完了しました。

SQL> set current schema = 'DV_IBMID_120000PFMV';

DB250000I: コマンドは正常に完了しました。

SQL> list tables          -- 事前に作成しておいた仮想オブジェクト(TAB2,TAB3はDB2 on Cloudの表、tab10はCOS上のCSVファイル)

表/ビュー            タイプ          スキーマ        作成時間             
-------------------- --------------- --------------- --------------------------
TAB2                 N               DV_IBMID_120000 2021-12-31 00:04:14.660969
                                     PFMV                                      

TAB3                 N               DV_IBMID_120000 2021-12-18 05:28:05.632446
                                     PFMV                                      

tab10                T               DV_IBMID_120000 2021-12-18 05:32:58.417265
                                     PFMV                                      


3 個の行が取り出されました。

SQL> 

参考情報

Connecting and authenticating to the Watson Query service
https://dataplatform.cloud.ibm.com/docs/content/dvaas/auth-usercred-dv.html

Command line processor plus (CLPPlus)
https://www.ibm.com/docs/ja/db2/11.5?topic=commands-command-line-processor-plus-clpplus

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0