Oracle發布官方版Node.JS數據庫驅動

jopen 9年前發布 | 18K 次閱讀 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!