Oracle接続
Windowsにて、nodeでOracle 11gに接続し、値を取得したい。
結論
node-odbcで動いた。
事前準備
- python
node-gyp
- gyp: Generate Your Projects
- Google Chromeのためのビルドシステム
- pythonで書かれている
- node-gyp: gypによるビルドファイルの生成からコンパイルまで行える
python2.7をインストール後、node-gypをglobalオプション付きでインストール
npm install -g node-gyp
node-odbcインストール
npm install node-odbc
node-gypのbuildで3箇所警告が出たが、一応インストールは成功した。
動作確認
とりあえず、単純なselect文を投げて結果を取得してみる
- app.js
/* * oracle test */ var odbc = require("odbc"); var db = new odbc.Database(); var cs = "DSN=<DataSourceName>;UID=<UserName>;PWD=<Password>"; db.open(cs, function(err){ var sql = "select foo, bar from HOGE order by foo"; db.query(sql, function(err, rows, rs){ //console.log(rows); var i=0; for (i=0; i<rows.length; i++) { console.log([ i, rows[i]["foo"], rows[i]["bar"] ].join(", ")); } db.close(function(){ console.log("close."); }); }); });
試行錯誤の経緯
試したmodule
node-oracle
- 上手くインストールできない。コンパイルで失敗する。
- node-gypで、-zオプションの使い方がおかしいといったエラー。
node-db-oracle
- node-wafを使用しており、コンパイルで失敗する。
node-odp
- インストールはできるが、うまく動かない。
- module内にバイナリファイル nodeodp.node があるが、これがx64用?
0 件のコメント:
コメントを投稿