delphi串連資料庫

來源:互聯網
上載者:User

  一個程式串連資料庫中間就需要有一個資料庫連接引擎

  筆者在使用Delphi的過程中,共使用過幾種串連方式串連Access,SqlServer,Oracle,IBM UDB,IBM AS/400...

  1.BDE

  這是使用Delphi最多的一種方式,建立一個BDE別名可以在控制台中的BDE Administration中添加,不過我習慣在SQL Explorer中建立,因為建立之後直接可以執行建表的指令碼了。

  你可以在SQL Explorer中左邊的別名列表中點擊右鍵,並選擇要串連的資料庫種類,並在之後BDE建立的串連參數中填入必要的資訊,注意,當你選擇不同的資料庫時,右邊的參數有少許的不同,這些參數的不同是由於不同資料庫所要求的參數不同造成的,例如SqlServer需要輸入伺服器的名稱,資料庫的名稱。

  BDE能夠串連我所使用過的所有的資料庫,當然有些是通過ODBC來串連的。

  在發布程式時,必鬚髮布BDE引擎。用InstallShield Express可以很方便的做這件事情

  BDE的別名也可以在Delphi程式中動態檢查有無並建立之。我通常用TSession組件來Do It。

  2.ODBC

  這是Ms的產品。

  如果你在ODBC中建立了一個DSN串連,那麼你的Delphi程式還是需要使用BDE來串連它,但是此時不需要用上一步中的手動建立別名,BDE會將ODBC中的所有別名自動在BDE中建立相同名稱的別名,並且它是刪不掉的,除非你刪掉ODBC的DSN。

  這種方式的實際是程式通過BDE,再通過ODBC,才串連到資料庫。

  在早期使用Aceess時,我通常使用這種方式。因為那時候還沒有ADO。

  同樣在使用IBM UDB時,我也用這種方式,因為在使用BDE直接連接時,在SQL Explorer中將不能枚舉資料庫中的表,而ODBC可以。

  AS/400也可以使用這種方式來串連...

  大型關係型資料庫都提供ODBC驅動。在建立ODBC源時,都會調用其本身的配置,不同的資料庫也是不同的。

  ODBC源也可以在程式用代碼寫入註冊表中,來產生一個DSN.

  3.ADO

  這是ODBC的升級版本,通常也叫做mdac ,我用過的最新版本是2.7,現在應該更高。在使用ms的資料庫SqlServer,Access時,推薦使用這個東西,因為他從win98開始就整合在作業系統中,並且以連接字串的形式提供所有參數,發布系統時不需要在程式之外做其他的工作。

  它也提供包括一些類資料庫的串連,例如Excel。

  值得一提的是在串連有密碼的Access時,Delphi的Ado嚮導產生的串連字元傳是有Bug的,其產生的password子項是password='xxx';這個樣子,但是這將不能串連,手動將其改成Jet Oledb password='xxx';(好像是這樣,記不清了).

  4.DbExpress

  這是Borland提供的最新的資料庫引擎,目前提供的驅動有限,我只用它成功測試過IBM UDB,在網上可以找到第3方的串連AS/400的驅動。

  它是一個提供單向遊標的引擎,Borland稱相對於BDE,具有更高的效率。並且在以後將發展它,而停止BDE的更新。

  通常在使用這種方式時,應該用DataSnap(以前叫Midas)技術來提供雙向遊標的應用,並且用TClientDataset的Data,Delta屬性來靈活的序列化Dataset,而實現多層松耦合系統。

  5.第3方的驅動

  這些我一個都沒在實際 中使用過,通常以組件的形式提供,我所知的如串連Oracle的Odac,串連As/400的Delphi400。。。

  最後現在如果可能,應盡量使用ADO來串連系統,並且用DataSnap來操作本機資料集來實現多層系統。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.