LoginSignup
9
8

More than 5 years have passed since last update.

Bluemixでデータ分析「dashDB」:LinuxサーバにODBCの設定してみた

Last updated at Posted at 2016-07-18

Windowsの設定もしたしMacもチャレンジしてみたので仕上げはLinuxへの設定、ということでやってみました。
BIツール等でdashDBに接続したいときはJDBC/ODBC接続になりそうなので、これを一度経験しといて損ないかなと思って、書いてみます。

スクリーンショット 2016-07-18 11.57.59.png

ちなみに

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のパッケージをクリックしてダウンロード
スクリーンショット 2016-07-18 15.49.40.png

・同じく「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が必要なので入っていない場合は事前にインストール

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:直接ファイルを書き換え

テンプレートとする設定ファイルをコピーする

コマンドでDSN定義
[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の名前はこの後も統一してください。

db2dsdriver.cfgの書き換え
<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名を指定していますので、これは後述の設定とも合わせましょう。

db2cli.iniの書き換え
[dashTest]
Database=BLUDB
Protocol=TCPIP
Port=50000
Hostname=dashdb-XXXXXXXXXX.services.dal.bluemix.net

ライブラリのシンボリックリンクを貼り直し

libフォルダ内のライブラリでリンクをはりなおす
[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 コマンドで確認できます。

設定ファイル:odbcinst.ini
[root@localhost lib]# cat /etc/odbcinst.ini

[dashtest]
Description     = dashtest
Driver          = /tmp/dsdriver/lib/libdb2o.so
設定ファイル:odbc.ini
[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と接続したいときは?)

9
8
2

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
9
8