読者です 読者をやめる 読者になる 読者になる

桜技録

うんこエンジニアの覚え書き

Node.js × Oracle DB

JavaScript Node.js

[2016-05-03 追記] 以下情報は古いです。新しいエントリはこちら

引き続きNode.js弄り。Oracle DBに繫いでみる。

Web系の人が多いのかNode.jsでのDB接続について調べてみるとMySQLだったりMongoだったりの例が多い様子。ただ手元で丁度動いてるのがOracle君だったので彼に繫いでみる。

Nodeの環境は下な感じで。

  • Ubuntu Server 14.04.3 LTS
  • Node.js v5.0.0

一方のDB側。

node-oracledb 1.3導入

oracle/node-oracledb

Oracleが公開しているドライバ。INSTALL.mdがとても親切 (但し後述の通り本家ではなくforkされた版をインストールする)。

Step Ⅰ: Instant Clientインストール

node-oracledbはOracleのクライアント・ライブラリに依存しているらしい。既にOracle ClientやDB本体がインストールされてるホストならばこの作業は不要。My little UbuntuOracleの味を知らない。機能毎に最低限のモジュールを集めたInstant Clientを入れてあげる。

Oracleから下2つのRPMをDL。

Debianに変換してインスコ

sudo alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
sudo alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
sudo dpkg -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb

Step Ⅱ: node-oracledbインストール

前準備も終わったということで意気揚々とnode-oracledbをnpm installするとコケる。

Issuesを漁って辿り着いたのがBigous/node-oracledbというfork。NANとかいうadd-on用ライブラリについて色々書いてあったのですがよく解りませんでした (正直)。

NANがナンなのかについては宿題にするとして、まずは動く環境作りを優先。

適当な場所に落っことして解凍したらその中でnpm install

wget https://github.com/Bigous/node-oracledb/archive/master.zip -O node-oracledb.zip
unzip node-oracledb.zip
cd node-oracledb-master/
npm install -g

Step Ⅲ: 動作確認

examplesの中で一番シンプルそうな名前のconnect.jsを使ってちゃんとOracleに接続出来るか確認する。

connect.jsと同じディレクトリに接続情報をdbconfig.jsという名前で作成。

module.exports = {
    user: 'xxxxxxxx',
    password: 'xxxxxxxx',
    connectString: '192.168.1.3/XE'
};

起動。

node connect.js

コンソールに「Connection was successful!」と吐かれたらおめでとう。

他のexamplesのコードを見ると大体のデータ操作について網羅されている様子。色々試してみましょ。


続き → Node.js × Oracle DB その2