Firebird嵌入版本開發方案

firebird(http://www.ibphoenix.com)的使用非常靈活和方便,可以在C/S、B/S系統中使用,也可以使用嵌入版本在桌面系統中使用。結合UIB(http://www.progdigy.com/UIB/)更能將靈活性發揮至極致了。

下面是我開發的一個小軟件的組合方案,希望給使用Firebird的朋友們一個參考。
一、所用軟件及VCL
1、Delphi7(http://www.borland.com)
2、Firebird 1.5 RC8嵌入版本(http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download#150)
3、IBExpert(http://www.ibexpert.com)
4、UIB(http://www.progdigy.com/UIB/)

二、安裝步驟
1、Delphi7的安裝就不說了
2、將嵌入版本的fbembed.dll複製一份到軟件工程目錄下以供使用,比如:d:/project/test
3、下載最新的IBExpert(http://www.ibexpert.com/download/),實際不用到那下了,我已經處理了一個沒有限制的比較完美的版本,在ftp://hdkej.8800.org裏,解壓在d:/firebird/ibexpert目錄下;
4、運行ibexpert新建及登記軟件的數據庫。注意,服務器選擇Local,Client Library選擇d:/project/test/fbclient.dll。
5、下載最新的UIB,解壓到d:/comonent/uib目錄下、安裝(也可不安裝直接複製uib的文件到軟件工程目錄下使用)

三、開發過程
1、當需要對數據庫進行修改維護時,運行IBExpert處理,處理完成後,斷開與數據庫的連接,這是避免與應用程序對數據庫的使用發生衝突
2、使用UIB的代碼如下:

code:
--------------------------------------------------------------------------------

var
    db  : TJvUIBDataBase;
    qry : TJvUIBQuery;
    tran: TJvUIBTransaction;

  db := TJvUIBDataBase.Create(nil);
  qry:= TJvUIBQuery.Create(nil);
  tran:= TJvUIBTransaction.Create(nil);

  db.Connected := false;
  db.DatabaseName := aDBName;
  db.Params.Add('user_name='+aName);
  db.Params.Add('password='+aPassword);
  db.LibraryName := DLLName;
  db.Connected := true;
  tran.DataBase := db;
  qry.Transaction := tran;


--------------------------------------------------------------------------------



四、小節
1、顯然,無需再用C/S版本,只需要一個fbembed.dll就可以完成軟件的開發,非常方便
2、唯一遺憾的是我還不知如何能讓ibexpert及軟件同時打開數據庫,現在是只能有其中之一獨佔打開。

最後我想說明一點,如果你使用firebird,最好用firebird的數據庫,用InterBase就用InterBase的庫,不要混用,雖然有一定的兼容性,但兩者都在不斷優化自己的數據庫,很難完全保證不出意外。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章