Node.js操作Firebird數據庫教程
來源:易賢網 閱讀:973 次 日期:2016-08-02 15:27:54
溫馨提示:易賢網小編為您整理了“Node.js操作Firebird數據庫教程”,方便廣大網友查閱!

Firebird是一個跨平臺的關系數據庫系統,目前能夠運行在Windows、linux和各種Unix操作系統上,提供了大部分SQL-99標準的功能。它既能作為多用戶環境下的數據庫服務器運行,也提供嵌入式數據庫的實現。

Firebird脫胎于Borland公司的開源版數據庫Interbase6.0,是一個完全非商業化的產品,用C和C++開發。

一個firebird數據庫服務器能夠管理多個獨立的數據庫,每一個數據庫同時可支持多個客戶端連結。總之:它是一個開源的,強大的,可以自由使用的數據庫(即使是商業上的使用)。

特點

Firebird是一個真正的關系數據庫,支持存儲過程、視圖、觸發器、事務等大型關系數據庫的所有特性;

Firebird支持SQL92的絕大部分命令,并且支持大部分SQL99命令,新版Firebird 2.0對SQL99的支持更完整;

Firebird源碼基于成熟的商業數據庫Interbase,有良好的穩定性,與Interbase有良好的兼容性; 

不用考慮授權費用(免費),不用擔心將來有一天你或你的客戶因為使用盜版而被數據庫開發商告上法庭;

發布簡易,安裝文件只有幾M,且高度可定制,客戶端的分發也很簡單,只需一個DLL文件; 

Firebird的一嵌入式服務器版本,不用安裝,直接運行,基于單機開發首選;

Firebird的運行效率非常高;

具備高度可移植性,可在Linux,Unix,MacOS,Windows,Solaris系統下運行,而且數據庫格式完全一樣,不用修改;

開發環境支持良好,Delphi,C++Builder不用通過ODBC連接,直接用原生開發接口開發基于Firebird的程序。

為什么使用FireBird?

對于小型企業用戶而言,現在的開放源碼數據庫有兩點不足:要么太大(如MySQL、PostgreSQL);要么太小,并且缺乏功能和文檔(如HypersonicSQL和McKoi)。在很多應用環境中,用戶需要有一個大小適中且功能齊備的數據庫。

Firebird相對來說比較小,其RPM版本只有2.6MB。這使其可以稱得上是理想的“嵌入式數據庫”,可用于與其它應用程序服務器和應用程序捆綁。Firebird具有大部分成熟數據庫所具有的功能,比如支持存儲過程、SQL兼容等。如果用戶有使用DB2或PostgreSQL的經驗,就會發現Firebird與它們的語法非常相似,數據類型和數據處理方式也很類似。

安裝

前面講了那么多關于FireBird的內容,現在開始來講解如何用Node來操作FireBird。

如果想通過Node來操作FireBird,首先要安裝操作FireBird的模塊——node-firebird。如下代碼:

npm install node-firebird

安裝完成以后,我們就可以在程序中使用node來操作FireBird了,如下代碼:

var FireBird = require('node-firebird');

Connection options

當我們通過node來操作FireBird時,首先要對數據庫連接進行設置,包括連接的ip地址、端口號、數據庫名稱(可以是包括路徑的全名)、連接的用戶名、密碼。如下代碼:

var options = {};

options.host = '127.0.0.1';          // 設置主機地址

options.port = 3050;              // 端口號

options.database = '/home/user/test.fdb';   // 數據庫名稱

options.user = 'SYSDBA';            // 用戶名

options.password = 'masterkey';        // 密碼

這樣數據庫的連接就設置完成了。

escape

在node-firebird模塊中有一個名為escape的方法,它的返回值為String類型。使用該方法可以防止SQL注入,如下代碼:

FireBird.escape(value) -> return {String}

實例如下:

var FireBird = require('node-firebird');

var sql1 = 'SELECT * FROM a WHERE ID='+Firebird.escape(2) ;

console.log(sql1);

create

create方法用于建立數據庫,其語法格式如下:

FireBird.create(options, function(err, db));

如下代碼:

FireBird.create(options,function(err,db){

  if(err)

    throw err;

  console.log('創建數據庫成功');

  db.detach(); //關閉數據庫連接

});

注意:當數據庫存在時候,用該方法建立數據庫會將原數據庫覆蓋,從而導致數據丟失。

query

db.query方法的用法前面已經介紹了一些,在這里將繼續給大家講db.query()的用法。當query語句中是查詢語句時,返回的結果為對象類型的數組(即result的值)。我們可以使用db.query()對數據庫中的表進行添加,修改,刪除,更新操作。db.query()有兩種用法,一種是無參數的查詢,一種是有參數的查詢。

有參數的查詢:

db.query(query, [params], function(err, result))

實例代碼如下向表a中插入數據:

FireBird.attach(options, function(err, db) {

  if (err)

    throw err;

  // db = DATABASE

  db.query('insert into a (id,name) values(?,?)',[1,'Tom'], function(err, result) {

    if (err)

      throw err;

    console.log("insert success!");

    db.detach();

  });

});

實例代碼更新a表中的數據:

FireBird.attach(options, function(err, db) {

  if (err)

  throw err;

  // db = DATABASE

  db.query("update a set name='Ann' where id=1", function(err, result) {

    if (err)

      throw err;

    console.log("update success!");

    db.detach();

  });

});

以上就是本文的全部內容,教會大家如何使用Node.js操作Firebird數據庫,希望大家喜歡。

更多信息請查看網絡編程
易賢網手機網站地址:Node.js操作Firebird數據庫教程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看