1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IBM i × Node.js】idb-connector 前編

Last updated at Posted at 2025-10-28

IBM i RiSING - IBM i 若手技術者コミュニティ 2025
G班 idb-connector 担当 社会人1年目の @ioliol です。

本記事では前後編に分けて、IBM i のオープンソース環境(OSS)で使える Node.js モジュール 「idb-connector」 について紹介します。

前編では「idb-connector の概要」「itoolkit との違い」「インストール手順」までを扱います。
後編では「実際に Db2 for i を操作する方法」について詳しく解説します。

はじめに

近年では、IBM i でも Node.js や Python などのモダン言語 を利用できるようになっています。その中で、Node.js から IBM i 上の データベースに直接アクセスできる OSS モジュール が「idb-connector」です。

idb-connector を用いることで、従来の RPG や SQL スクリプトではなく、JavaScript から データベース を操作できるようになります。

idb-connector とは?

idb-connector は、IBM i 用に提供されている Node.js モジュール のひとつで、Node.js から IBM i 上の データベース にアクセスするための API を提供します。

npm install idb-connector

で、簡単に導入できます。
SQL の発行、SELECT/INSERT/UPDATE/DELETE といった操作を実現できます。

なぜ idb-connector が重要なのか?

IBM i 環境で Node.js を初めて扱う際、多くの開発者は最初に 「idb-connector」 と 「itoolkit」 のふたつのモジュールを目にするかと思います。

両者の違いとして、itoolkit は「RPG プログラムや CL コマンドを呼び出す」ためのモジュールであり、データベース操作には RPG 上などを経由して操作を行います。

その点、idb-connector は SQL ベースで Db2 for i を直接操作できるため、データベースアプリや API 開発 に最適です。

itoolkit との違い

両者の違いをざっくりまとめると、次のようになります。

項目 idb-connector itoolkit
主な用途 データベースの操作 RPG / CL / コマンド呼び出し
アクセス対象 テーブルや SQL PGM, CMD, QSYS.LIB
通信方式 ローカル Db2 for i 接続 XMLSERVICE経由
実行速度 高速 (直接アクセス) やや低速 (中間層あり)

まとめ

  • idb-connector → SQL (データ操作)
  • itoolkit → コマンド・プログラム呼び出し

このふたつを併用することで、IBM i のシステムと Node.js アプリを柔軟に連携できます。

アーキテクチャのイメージ

Node.js から Db2 for i へアクセスする流れを図にすると以下のようになります。

Desktop - 8.jpg

idb-connector は、IBM i の内部 API を利用して Db2 for i に直接アクセスするため、中間レイヤーが不要で非常に高速・安定しています。

idb-connector のインストール方法

Step 1. PATH を調整します

PATH の調整には、2パターンの方法があります。

  • 一時的な PATH
  • 永続的な PATH

今回は、推奨されている「永続的な PATH 調整」を紹介します。以下のコマンドをターミナル(shell)から一行ごとに実行していきます。

touch $HOME/.profile
setccsid 1208 $HOME/.profile
echo 'PATH=/QOpenSys/pkgs/bin:$PATH' >> $HOME/.profile
echo 'export PATH' >> $HOME/.profile

【補足】5250エミュレータ画面よりターミナルを起動する方法

CALL QP2TERM

PATH が通っているか確認します。

PATH確認
echo $PATH
出力例
/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin

Step 2. Node.js がインストールされているか確認

IBM i では、Access Client Solutions (ACS) の
オープン・ソース・パッケージ管理」から Node.js を導入できます。

導入済みであれば、以下のコマンドでバージョン確認を行います。

バージョン確認
node -v
npm -v
出力例
v22.15.0
10.9.2

Node.js をインストールすると npm も一緒にインストールされます。

Step 3. idb-connectorをインストール

Node.js 環境が整ったら、次のコマンドを実行します。

npm install idb-connector

インストール時に古い依存ライブラリに関する警告が表示されることがありますが、インストール自体は正常に完了し、動作に問題はありません。

インストール後、node_modules 内に idb-connector フォルダが生成されていればOKです。

Step 4. 動作確認

まずは接続確認だけの簡単なテストコードを作成してみましょう。

test.js
const { dbconn } = require('idb-connector');

const connection  = new dbconn();
connection.conn('*LOCAL');  // IBM i 上のローカル Db2 for i に接続
console.log('接続成功!');
connection.disconn();
実行
node test.js
結果
接続成功!

この表示が出れば、idb-connector は正しく動作しています。

【補足】ローカルの接続ではなくリモートで接続を行いたい場合

connection.conn('database', 'user', 'password'); //リモート環境への接続

.conn で指定している、*LOCALを上記のように変更します。
database が分からない場合には、リレーショナル・データベース・ディレクトリーに設定されたエントリー名を指定します。

WRKRDBDIRE

まとめ

お疲れ様でした。
これで、idb-connectorを用いてデータベースに接続することができました。

後編では、idb-connectorの2つの主要クラスである

  • dbconn(データベース接続の管理)
  • dbstmt(SQL文の実行)

この2つを中心に、実際に登録(INSERT)方法を紹介します。

参考文献


当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?