Oracle發布官方版Node.JS數據庫驅動
注* 近日Oracle發布了官方版的Node.JS數據庫驅動 node-oracledb,其他主流SQL數據庫的Node.JS驅動: MySQL數據庫Node.JS驅動:node-mysql; 微軟SQL Server數據庫Node.JS驅動官方版: node-sqlserver; 從關注人數可以看出Node社區對大型收費關系型(SQL)數據庫的熱情并不高。
1.關于node-oracledb
為高性能Node.js應用程序設計的Oracle數據庫驅動。
node-oracledb0.2支持Oracle基本和先進的功能,包括:
- SQL和PL/ SQL執行
- 使用JavaScript對象或數組綁定
- 將查詢結果以JavaScript對象或數組返回
- JavaScript和Oracle之間的數據類型轉換
- 事務管理
- 連接池
- Statement緩存
- 客戶端結果緩存
- 端到端跟蹤
-
高可用性功能
快速應用通知(FAN)
負載均衡(RLB)
透明的應用程序故障切換(TAF)
node-oracledb0.2是一個預覽版。我們正在積極努力增加包括Windows平臺的支持,LOB支持,批量抓取/大型結果集查詢,流和DRCP支持。
示例:在node-oracledb中執行簡單的SELECT,注*帶有很重的Java風格
var oracledb = require('oracledb');oracledb.getConnection( { user : "hr", password : "welcome", connectString : "localhost/XE" }, function(err, connection) { if (err) { console.error(err.message); return; } connection.execute( "SELECT department_id, department_name "
+ "FROM departments " + "WHERE department_id = :did", [180], function(err, result) { if (err) { console.error(err.message); return; } console.log(result.rows); });
});</pre>
在Oracle的HR schema(示例數據庫),輸出為:
[ [ 180, 'Construction' ] ]
這里有更詳細的示例代碼
2. 安裝</h3>
只能通過GitHub安裝. 基本的步驟如下:
- 安裝Oracle客戶端庫,或者安裝一個本地的免費數據庫版本,如Oracel XE
- 將代碼從此倉庫Clone到本地
-
運行npm install
查看詳細的安裝文檔
3 node-oracle
注* 三年前有人為node.js社區發布了“山寨”版的oracle數據庫驅動,github項目名node-oracle,在npm中使用了oracle這個模塊名,現在Oracle官方版只能在后面多加個db了,下面為node-oracle的示例代碼:
var oracle = require('oracle');var connectData = { hostname: "localhost", port: 1521, database: "xe", // System ID (SID) user: "oracle", password: "oracle" }
oracle.connect(connectData, function(err, connection) { if (err) { console.log("Error connecting to db:", err); return; }
connection.execute("SELECT systimestamp FROM dual", [], function(err, results) { if (err) { console.log("Error executing query:", err); return; }
console.log(results); connection.close(); // call only when query is finished executing
}); });</pre> 來自:http://ourjs.com/detail/54cdb567232227083e000020
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!