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 件のコメント:
コメントを投稿