DB2でたまに使うのにすぐ忘れるコマンド
はじめに
私は仕事でDB2を使っているんですが、MySQLやOracleに比べてネットの情報も関連書籍も圧倒的に少ない!とにかく情報収集には苦労します。
そんなDB2でたまに使うのにすぐ忘れるのが、DB2への接続関連のコマンドです。
とりあえずこれだけ知ってればDB2に接続できるようになるよ、というのが今回のお話。
結論
①接続情報の確認
db2 LIST NODE DIRECTORY
db2 LIST DB DIRECTORY
②接続情報の登録
db2 CATALOG TCPIP NODE [任意のノード名] REMOTE [ホスト名] SERVER [ポート番号]
db2 CATALOG DATABASE [データベース名] AS [任意の別名] AT NODE [ノード名]
③DBに接続
db2 CONNECT TO [任意の別名] USER [ユーザ名] USING [パスワード]
まとめ
DB2への接続にはカタログと呼ばれる情報(ホスト名とデータベース名の登録情報)が
必要になります。
LIST NODE DIRECTORYは登録済みのホスト名、LIST DB DIRECTORYは登録済みのデータベース名を確認するコマンドです。
Oracleだとtnsnames.oraに相当すると思ってください。Oracleと違ってDB2ではホスト名とデータベース名が別々に登録管理されています。
もし使いたいデータベースのカタログが登録されていなければ、次にカタログを登録します。
CATALOG TCPIP NODEは接続先のDB2サーバのホスト名、CATALOG DATABASEは接続先のDB2データベース名を登録するコマンドです。
なお、NODE及びDATABASEとも任意の名前を付けますが、いずれも8文字以内でないと登録できないので注意!
NODEとDATABASEの両方のカタログが登録されたら、CONNECTコマンドでDB2データベースに接続します。
正常に接続できたら、後は普通にSQLとか流せるようになります。
但し、SQL記法とかデータ型とかでもOracleやMySQLと若干の違いがあるので注意が必要です。