IBM i (AS/400)のPASE環境でnode.jsを動かす方法 [DB2接続編] (3/4)

nodejsi

DB2接続の準備

Node.jsのDB2iアドオンは、IBM iでDB2データベース操作に設定されるJavaScript APIです。それは、DB2 CLI APIに基づきます。次のパスにそのアドオンが存在します。

パス:/QOpenSys/QIBM/ProdData/Node/os400/db2i

DB2アドオンには、上記フォルダーに含まれるdb2.jsが必要です。

【スクリプトセットの確認】
DB2アドオンに必要なdb2.jsが存在していることを確認
nodejs03_01

【IBM i設定の確認】
接続するRDBディレクトリ項目名を確認します。必要であれば、RDBディレクトリ項目の設定を行います。Nodejsを実行するIBM i上のDB2にアクセスする場合は、NodejsのコーディングでDB名に*LOCALを指定して接続が可能です。
nodejs03_02

Javaスクリプトの準備

物理ファイルQIWS/QCUSTCDTのデータを参照・表示するJavaScriptを作成

【JavaScriptの編集】
テキストエディターでJavaScriptを編集後、UTF-8で「sample.js」と名前を付けて保存

var http = require('http');
var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2');
http.createServer(function (req, res) {
     db.init();
     db.conn("*LOCAL");
     db.exec("SELECT LSTNAM, STATE FROM QIWS.QCUSTCDT", function(rs) {
                 res.writeHead(200, {'Content-Type': 'text/plain'});
                 res.end(JSON.stringify(rs));
     });
     db.close();
}).listen(8082, '192.168.1.7');
console.log('Server running at http://192.168.1.7:8082/');

【FTP転送】
先にIBM iに作成済みの/home/nodeフォルダーへ「sample.js」をFTP転送
nodejs03_04

JavaScriptの実行

「sample.js」JavaScriptを実行して動作確認

【実行コマンド】

CALL QP2TERM
cd /QOpenSys/QIBM/ProdData/Node/bin
node /home/node/sample.js

nodejs03_07

【実行結果】
ソース上で指定したIPアドレスとポートでWebブラウザからアクセスした物理ファイルから意図する結果が得られたことから正しく動作しているといえます
nodejs03_08

この記事を読んでいただいてありがとうございます!

The following two tabs change content below.
IBM i (AS/400)のオープン化を中心にサービスを提供するシステム開発会社。最近は、IBM i 上のPHPによる受託開発が多いですが、ソリューションやウェブサービスも順次リリースしていこうと思ってます。 https://www.omni-s.co.jp/