Windowsの設定もしたしMacもチャレンジしてみたので仕上げはLinuxへの設定、ということでやってみました。
BIツール等でdashDBに接続したいときはJDBC/ODBC接続になりそうなので、これを一度経験しといて損ないかなと思って、書いてみます。
ちなみに
WindowsやMacへの各種設定はこちらの記事をどうぞ。
Windows系
http://qiita.com/azzeten/items/554552a1150da6607d35
http://qiita.com/azzeten/items/8b8179d8f9b3e8f7199d
Mac系
http://qiita.com/azzeten/items/94a5e89d7b5cb8148a00
今日の作業の流れ
・dashDBのWEB画面からパッケージをダウンロード
・ドライバのインストール
・設定
・接続テスト
・おまけ情報(SPSS Modeler Serverと接続したいときは?)
では、やってみよー。
###dashDBのWEB画面からパッケージをダウンロード
・dashDBのWEB画面の「Connect」→「Download Tools」をクリック
・Linuxのパッケージをクリックしてダウンロード
・同じく「Connect」→「Connection Information」からホスト名やポート番号、DB名等の情報をメモ帳か何かにコピペします(あとで使います)。
###ドライバのインストール
ファイルを解凍
[root@localhost tmp]# tar xvzf ibm_data_server_driver_package_linuxx64_v10.5.tar.gz
[root@localhost dsdriver]# cd dsdriver
インストールにはkshが必要なので入っていない場合は事前にインストール
[root@localhost dsdriver]# yum install ksh
インストーラ実行&インストール
[root@localhost dsdriver]# ./installDSDriver
-
'installDSDriver' script has started ...
-- Unzipping and Copying each driver files to install path ...
--> SUCCESS
(中略)-
'installDSDriver' completed successfully.- Check /tmp/dsdriver/./installDSDriver.log file for complete details.-
環境変数設定
[root@localhost dsdriver]# cd /tmp/dsdriver/
[root@localhost dsdriver]# chmod 777 db2profile
[root@localhost dsdriver]# . db2profile
###設定ファイルの書き換え、ライブラリ設定
方法は2つあります。方法1、方法2どちらかだけでOKです。
方法1:コマンドでファイル書き換え(DSN定義)
[root@localhost dsdriver]#db2cli writecfg add -database BLUDB -host dashdb-XXXXXXXXXX.services.dal.bluemix.net -port 50000
[root@localhost dsdriver]#db2cli writecfg add -dsn dashTest -database BLUDB -host dashdb-XXXXXXXXXX.services.dal.bluemix.net -port 50000
これをやるとdb2dsdriver.cfgがこの設定の通りに書き換えられます。
方法2:直接ファイルを書き換え
テンプレートとする設定ファイルをコピーする
[root@localhost cfg]# cd cfg
[root@localhost cfg]# cp -a db2cli.ini.sample db2cli.ini
[root@localhost cfg]# cp -a db2dsdriver.cfg.sample db2dsdriver.cfg
ファイルの書き換え
それぞれ以下のように記述(赤字の部分は自身の環境に変えてください)dsnの名前はこの後も統一してください。
<configuration>
<databases>
<database host="dashdb-XXXXXXXXXX.services.dal.bluemix.net" name="BLUDB" port="50000” />
</databases>
<dsncollection>
<dsn alias=“dashTest” host=“dashdb-XXXXXXXXXX.services.dal.bluemix.net” name=“BLUDB” port=“50000”/> </dsncollection>
</configuration>
dsn aliasという項目で、DSN名を指定していますので、これは後述の設定とも合わせましょう。
[dashTest]
Database=BLUDB
Protocol=TCPIP
Port=50000
Hostname=dashdb-XXXXXXXXXX.services.dal.bluemix.net
ライブラリのシンボリックリンクを貼り直し
[root@localhost lib]# pwd
/tmp/dsdriver/lib
[root@localhost lib]# rm –rf libdb2o.so
[root@localhost lib]# ln –s libdb2o.so.1 libdb2o.so
最終的にls -laした結果が以下のようになればOKです。
lrwxrwxrwx 1 19180 7777 12 5月 7 2015 libdb2o.so -> libdb2o.so.1
-r-xr-xr-x 1 19180 7777 34451617 5月 7 2015 libdb2o.so.1
ここまでで設定自体は終了です。
接続テスト
参考URL http://www.unixodbc.org/doc/db2.html
まずはインストール
[root@localhost lib]# yum install unixODBC unixODBC-devel
そして設定ファイルを以下のように書き換えます。
ファイルのパスは isql -j コマンドで確認できます。
[root@localhost lib]# cat /etc/odbcinst.ini
[dashtest]
Description = dashtest
Driver = /tmp/dsdriver/lib/libdb2o.so
[root@localhost lib]# cat ~/.odbc.ini
[dashtest]
Description = dashDB用
Driver = dashtest
接続してみます。
[root@localhost lib]# isql -v dashtest username password
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from ishigaki limit 5;
+-----------+------+------+------+
| DATE | AVG | HIGH | LOW |
+-----------+------+------+------+
| 2015-04-19| 28.2 | 26.5 | 24.4 |
| 2015-04-20| 28.7 | 28.5 | 22.6 |
| 2015-04-21| 25.1 | 24.7 | 20.8 |
| 2015-04-22| 25.3 | 24.1 | 21.1 |
| 2015-04-23| 27.2 | 26.9 | 22.0 |
+-----------+------+------+------+
SQLRowCount returns -1
5 rows fetched
OK!!
おまけ情報(SPSS Modeler Serverと接続したいときは?)