在上一講中,講解了數據庫的大概種類和特點,這些和我們VBA的知識離得遠些,我們要用到只是其中的一點點就可以了。那麼,要想操作數據庫,首先要做的是什麼呢?對了,就是要首先連接到這個數據庫(我們先假設有這麼一個數據庫,即使它是空的)。這就好比我們要想實現上網的功能,首先要用網線連接到服務器,如果不連上服務器,你是無法上網的。連接數據庫的過程就是相當於建立網線連接的過程,就是就是建立一個通道。如果你不連接上數據庫,就無法操作數據庫,就好比你不建立網絡的連接就無從談到上網瀏覽網頁了。而且,連接數據庫的過程,也是爲了驗證安全性. 比如我這裏主要講VBA,那麼我就要首先讓我的VBA連接上數據庫,然後才能操作數據庫。

下面就開始講如何建立連接,及連接的方式了,用通俗的語言講,就是用什麼設備上網呢?是電信,還是移動,聯通。這裏我還是提供幾種常見的連接方式及其介紹,到下一講我們將將具體的連接代碼了。

一 ODBC方式聯接

ODBC(Open DataBase Connectivity)翻譯過來就是開放數據庫互聯。是由微軟主導的數據庫鏈接標準。是一種底層的訪問技術,ODBC API 可以讓客戶應用程序能從底層設置和控制數據庫,完成一些高級數據庫技術無法完成的功能;但不足之處由於ODBC是隻能用於關係型數據庫,使得利用ODBC很難訪問對象數據庫及其他非關係數據庫。

二 DAO方式聯接

DAO(Data Access Object)數據訪問對象型。不提供遠程訪問功能。只提供了一種通過程序代碼創建和操縱數據庫的機制。最大特點是對MICROSOFT JET數據庫的操作很方便,而且是操作JET數據庫時性能最好的技術接口之一。並且它並不只能用於訪問這種數據庫,事實上,通過DAO技術可以訪問從文本文件到大型後臺數據庫等多種數據格式。Microsoft Jet爲Access和Visual Basic這樣的產品提供了數據引擎。

備註1:DAO類與ODBC類相比具有很多相似之處,這主要有下面幾點:

兩者都支持對各種ODBC數據源的訪問。二者使用的數據引擎不同,但都可以滿足用戶編寫應用程序的要求。由於DAO和ODBC類的許多方面都比較相似,因此只要用戶掌握了ODBC,就很容易學會使用DAO。實際上,用戶可以很輕鬆地把數據庫應用程序從ODBC移植到DAO。

三ADO 方式聯接

ADO(ActiveX Data Object),是ActiveX數據對象,是基於OLE DB的訪問接口,它是面向對象的OLE DB技術,繼承了OLE DB的優點。屬於數據庫訪問的高層接口。是在OLE DB規程下開發的,基於OLE-DB建立連接的局部和遠程數據庫訪問技術。同OLE-DB一樣,它要"年輕"些。使用中,我們一般用OLE-DB和ADO替代DAO和RDO。

備註2:ADO和OLEDB之間的關係爲:

OLE DB是一種底層數據訪問界面接口。是用於第三方驅動程序商家開發輸出數據源到ADO技術的應用程序或用於C++的開發者開發定製的數據庫組件。

ADO 是基於OLE DB的訪問接口,它是面向對象的OLE DB技術,繼承了OLE DB的優點。屬於數據庫訪問的高層接口。

OLE DB 是用於訪問數據的重要的系統級編程接口,它是 ADO 的基礎技術,同時還是 ADO.NET 的數據源。

可以這麼說,ADO爲OLEDB提供高層應用API函數。

我們可以通過下面的表格比較各種連接方式的優缺點:

在我的《VBA與數據庫》中大部分是以ADO的連接模式來進行連接數據庫的。

今日內容迴向:

1 數據庫連接大概有哪幾種方式?

2 爲什麼要先進行數據庫的連接操作?

相關文章