Delphi中的幾種資料庫引擎
來源:互聯網
上載者:User
Delphi中經常出現的詞彙是ADO,BDE,dbExpress等等,那麼他們之間到底有什麼異同呢,Delphi中的資料庫引擎又到底有多少種呢?也許應該從整體上把握一下,才能有的放矢.
Delphi一共提供四種資料程式的設計標準,分別是Borland Database Engine(BDE),ActiveX Data Object(ADO),dbExpress,InterBase Express.
(1)Delphi的BDE是一個在視窗環境下的32位元據庫引擎.它也提供一組API函數,這些API函數可以通過動態連結檔案使用任何語言去調用,或者你也可以直接使用Delphi提供的BDE組件來使用 這些API.BDE提供SQL Links來連結六種後台資料庫SYBASE,InterBase,ORACLE,MS-SQL,Informix,DB2,如果後台資料庫不是前面提到的六種,可另外購買ODBC Drivers來連結其他種類的數 據庫,在Local(本地案頭資料庫)部分,支援Paradox(*.DB),dBase(*.DBF),Microsoft Foxpro,Microsoft Access等,還提供了一個單擊版的InterBase,讓你在單機的環境下,可以類比主從 資料庫的開發.如果用Delphi開發出來的程式有使用到BDE,則必須將BDE安裝在使用者的電腦上,Inprise公司是不收取任何費用的.
(2)微軟以COM的標準實現出的OLE DB,用來取代ODBC的角色,作為其訪問資料庫的中間軟體,而ADO則是OLE DB的最上層,它是用來讓Windows應用程式調用的介面(Inteface),其實ADO只是MDAC 的一小部分,MDAC的全名位Microsoft Data Access Components,MDAC辦好了所有Microsoft的資料庫訪問技術,如:ADO,OLE DB,ODBC,RDS(Remote Data Service),所以你只要安裝MDAC後, 上面提到的各種資料庫訪問技術都會安裝進來,用ADO開發的軟體,則必須將相應版本的MDAC安裝在使用者的電腦上,可以免費下載(http://www.microsoft.com)
(3)由於BDE的訪問效率不佳,而且SQL Link驅動程式編寫不易,平台移植困難,所以Delphi體重另一種資料庫訪問中間標準dbExpress,Borland公司針對各種資料庫編程寫出dbExpress的原生驅 動程式(dbExpress Native Driver),並且封裝出一組dbExress組件.dbExpress具有資料訪問效率快及平台轉移容易的優點,由於BDE自己本身有一套資料庫引擎,所以它會維護資料庫查詢 出來的cursor,因此訪問效率較差,而dbExpress從資料庫Fetch(提取)出來的DataSet,是Undirectional cursor,因此訪問效率比BDE好很多.而且dbExpress提供的Native Driver標準容易 編寫,可移植性高,目前已經有Linux版本的dbExpress.
(4)Delphi還提供了一組原生組件InterBase Express讓你可以直接,快速地王文InterBase資料庫,這組IBX組件封裝了InterBase所提供的API,其訪問效率甚至高於BDE及dbExpress,唯一的缺 陷是它專署於InterBase Server,並不適用於其他資料庫伺服器的訪問. 在Delphi的光碟片中,包含了一套關聯式資料庫系統:InterBase,這條InterBase必須安裝在Windows NT技術的作業系統 上,Borland公司免費提供這套資料庫系統的用以在於,讓你只需要先購買Delphi的Enterprise版就可以勾踐一套完整的主從結構系統,當你開發完整套應用程式之後,你可以再選購其他種 類的後台資料庫系統.由此可知,這套InterBase Server是給開發人員使用的,而不是給使用者,所以如果你把這套InterBase直接分發給多位使用者,那麼將違反著作權法,如果你真相使用
InterBase當作主從系統啟動並執行後台資料庫,你可以向Borland公司購買正是的版本.
注:Delphi內建的資料庫維護工具Database Desktop無法修改SQL資料庫的表結構(如MS-SQL,ORACLE,SYBASE),它只能修改Local資料庫的表結構(如dBase,Paradox,Foxpro,Access).