業務でDb2を使っているのですが、サーバーにTeraTermでアクセスしてSQLを実行するのが面倒で。
頭に”db2”って入れないとダメだし。
なので、mk2を使ってアクセスしたい!ということでその練習をしましたので、備忘録残します。
#目次
1.まずはLinuxサーバーを準備!
2.Db2構築!(Express-C)
3.ODBCドライバの設定!
4.mk2でアクセス!
#使用環境
- ホスト:Windows 10 Home
- ゲスト:CentOS7
- DB:Db2 Express-C v11.1
- 使用アプリ①:VirtualBox 5.2.8
- 使用アプリ②:mk2 2.12.3
#1.まずはLinuxサーバーを準備!
もともとVirtualBoxにCentOS7を入れていたのですが、久々に動かそうとしたらVirtualBoxのエラーで動かせませんでした。
なので最新版のVirtualBoxを入れ直しました。
ただ、FFFTPでアクセスできず。TeraTermもつながらず。ネットワーク設定変わってる・・・。
とりあえずIPアドレス調べました。
VBoxManage list hostonlyifs
CentOS7のネットワーク設定は、アダプタ1にNAT、アダプタ2にホストオンリーアダプタを割り当ててます。
そのホストオンリーアダプタのIPはこのコマンドで確認できます。これはホスト側かな?
そしてNATのポートフォワーディングにポート22を開けるルールを書けばTeraTerm接続は可能です。
ホストIPに先ほどのコマンドで確認したもの。ゲストIPにifconfigコマンドで確認できるenp0s8に書かれたもの。
FTPまで設定するのは面倒だったので、今回はSSHだけにしました。(SCP使います)
後々のために、50000番ポートも開けておきます。Db2にアクセスするのに使います。
ネットワーク分かりづらくて苦手です。
っていうかVBoxManageの使わなくてもWindowsのipconfigでも分かりますね。
#2.Db2構築!(Express-C)
こちらはenterprisezine様の記事を参考にしました。
DB2、基本の「き」-コマンド環境を使ったインストールから手動セットアップまで。
データベースSAMPLEを作成するまでの道のりを丁寧に説明していただいております。(バージョン違うけど)
注意点としては、応答ファイルを作成する箇所があるのですが、そのページの最後にある応答ファイルの例を使って方が良いかもしれません。
(groupaddですでに番号が使われていたりしました。)
(db2 update xxxxxっていうコマンドはsu - db2inst1してから使うみたいです。)
(多分細かいところでつまずいていたみたいです。)
#3.ODBCドライバの設定!
これはsymfo様の記事を参考にしました。
DB2 10.5 ODBCドライバーのインストールと接続設定
バージョンは違いますが、基本的に同じです。
注意点としては、途中ODBC設定のところでユーザーにAdministratorと設定するところがありますが、上手くいかず、db2inst1を設定したところ、上手くいきました。Db2の偉いユーザーを入れればいいのかな?
#4.mk2でアクセス!
こちらはFreeBSD あれこれ様を参考にしました。
3. データベース - A5:SQL Mk2 - IBM DB2 への接続
注意点としては、設定方法が若干異なることです。
mk2の設定画面で、Db2のドライバを選択してから、「次へ」を押すと、「詳細」タブに飛びます。
参考ページでは「接続」タブになってましたが。
「詳細」タブの設定は次のようにすればOKでした。
- DataSorce:接続するデータベース名
- Location:1のコマンドで確認できるIPアドレス
- Password:db2inst1のパスワード
- UserID:db2inst1
#お疲れ様でした
以上でセットアップから接続まで完了です。
僕自身よく分かっていない箇所もあります。後々あれはこういうことか!と気づけたらいいなと思います。
御教示いただける方、ぜひコメントお願いします・・・。
###参考文献(閲覧日:2018/03/31)
Oracle VM VirtualBox(R) User Manual - Oracle Corporation
DB2、基本の「き」-コマンド環境を使ったインストールから手動セットアップまで。 - enterprisezine.jp
DB2 10.5 ODBCドライバーのインストールと接続設定 - symfo
3. データベース - A5:SQL Mk2 - IBM DB2 への接続 - FreeBSD あれこれ