初めに
以前の投稿で、「Db2でJSONデータを扱う」という投稿をし、IBM Cloud のDb2を使用したと記載しましたが、今回は、具体的にIBM CloudでDb2を使用する方法をご紹介します。
手順1: IBM Cloudのアカウントを作成
「https://cloud.ibm.com/registration」にアクセス、必要な項目を入力し、アカウントを作成します。
※以前はクレジットカードの登録が不要でしたが、現在はクレジットカードの登録が必要になっています。
手順2: Db2 サービスの作成
①「カタログ」アイコンをクリックし、「カタログ」ページに遷移し、テキストボックスに「db2」と入力します。出てきたリストから「Db2」を選択します。
②今回は無料で試用できるように、料金プランは「Lite」を選択します。使用条件同意にチェックをつけ、「作成」をクリックします。
③リソース・リストの画面に遷移し、「サービスおよびソフトウェア」の欄にDb2ができたことを確認します。
最初は状況がプロビジョニング中になっていますが、しばらく待つと、アクティブ状態になり、使用可能になります。
手順3: Db2を使用する
①上記でできたリソースの名前のところ(上記図のDb2-7f)のところをクリックします。
②Db2のリソース画面に切り替わるので、「Go to UI」をクリックします。
③「SQL」をクリックすると、SQLを実行できる画面になります。
④「新規作成」をクリックし、SQL入力画面を表示します。
⑤SQLを入力し、「すべてを実行」をクリックすると、入力したSQLが実行されます。
手順4: プログラムから使用する
①Db2のリソース画面から、「サービス資格情報」をクリックし、遷移した画面で、「新規資格情報」をクリックします。
②「名前」を任意の名前に変更し、「追加」ボタンを押します。
③資格情報が作成され、ホスト名やID、パスワードを確認することができます。その情報を利用して、プログラムから接続します。
Node.jsから接続する場合は以下のようになります。
- 「npm install ibm_db」コマンドを実行し、db2接続用ドライバを導入します。
- 「プログラムを記載します」
db2test.js
※ xxxxxは、上記の資格情報に記載の値を入れてください。
const ibm_db = require( 'ibm_db' );
const db_con_str =
"DRIVER={DB2}"
+ ";DATABASE=" + "xxxxx"
+ ";HOSTNAME=" + "xxxxx"
+ ";PORT=" + "xxxxx"
+ ";PROTOCOL=TCPIP"
+ ";UID=" + "xxxxx"
+ ";PWD=" + "xxxxx"
+ ";Security=SSL"
;
const sql_str = "SELECT EMPLOYEEID, NAME, SYSTOOLS.BSON2JSON(PROFILE) as PROFILE FROM EMPLOYEES;";
ibm_db.open( db_con_str, function( err, conn ){
if( err ) return console.log( err );
conn.query( sql_str, function( err, data ){
if( err ) console.log( err );
console.log( data );
conn.close( function(){
console.log( 'done' );
});
});
});
3. プログラムを実行します。
$ node db2test.js
[
{
EMPLOYEEID: 100,
NAME: 'Tom',
PROFILE: '{"hobby":"baseball","license":"driver"}'
}
]
done