LoginSignup
0
1

More than 1 year has passed since last update.

IBM Cloud でDb2インスタンスを作成し、 Node.jsからアクセスしてみよう

Last updated at Posted at 2021-12-29

初めに

以前の投稿で、「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から接続する場合は以下のようになります。

  1. 「npm install ibm_db」コマンドを実行し、db2接続用ドライバを導入します。
  2. 「プログラムを記載します」
     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
0
1
0

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
0
1