天天看點

firebird嵌入式資料庫

firebird是一個跨平台的開源資料庫,适用interbase授權協定(IPL),從borland的interbase脫胎而來。以前用interbase/firebird的時候,釋出程式的時候哪怕隻有一個使用者至少也得安裝一個localserver,一些單機版的程式隻好使用access來儲存資料。但是微軟那個mdac偏偏常出現一些莫名其妙的問題,access2000的資料庫檔案在win98上就經常出現“插入時無法定位...”、“遇到BOF/EOF...”一類不知所雲的錯誤提示,安裝新版mdac并打上oledb更新檔就能解決問題,不過一個幾百k的小程式要帶上七八兆的更新檔感覺實在不好。我就一直希望能夠把interbase/firebird應用于桌面資料的存儲,就是因為那個安裝伺服器的問題一直沒有好辦法。

現在終于釋出了嵌入式的firdbird,我們可以用firebird embbed作為桌面資料庫了,跟C/S版的firebird資料奎一樣,對許多現代資料庫特性提供充分的支援,可以使用觸發器、存儲過程,可以自定義類型,可以自定義外部函數。而且他與firebird C/S使用相同的檔案格式,也支援将一個資料庫檔案存儲到多個檔案,把它的資料檔案放到firebird C/S上立刻就可以使用,你随時可以把單機應用改造成C/S或者放到web上。應用程式開發與firebird C/S 沒什麼不同,可以使用它的C API,也可以使用Delphi/BCB的interbase和dbx元件,當然,安裝了odbc驅動以後,用ado也是可以的。釋出程式時隻需要提供一個dll,我們的fire bird應用程式就可以工作了(用ado不行,用dbx還需要midas.dll和dbexpint.dll),可以很容易地制作出安裝程式,所有的配置工作都可以由程式員自己控制,也不用擔心資料庫會被使用者直接打開進行改動了。而且據我所知,嵌入式資料庫好像還沒有支援存儲過程和觸發器的吧,access,sqlite都不行,更不用說dbf和paradox了。