資料庫是計算機中一種專門管理資料資源的系統,目前幾乎所有軟體都需要與資料庫打交道(包括作業系統,比如Windows上的系統資料庫其實也是一種資料庫),有些軟體更是以資料庫為核心是以掌握資料庫系統的使用方法以及資料庫系統程式設計接口的使用方法是程式員非常重要的基本技能之一。是以我花了一定的時間學習了在Windows平台上使用COM接口的方式操作資料庫。這段時間我會将自己學習過程中掌握的知識和其中的一些坑都釋出出來,供個人參考,也友善他人學習
現在常見的DBMS主要有ORACLE、Sybase、Informix、DB2、Sql Server、Access、Visual Foxpro、MySql。由于目前我主要是在學習Windows平台上的程式設計技巧,是以這系列的内容将會以Windows平台為主,是以資料庫選擇了Sql Server,程式設計接口主要是ADO和OELDB.
Windows平台常見的資料庫程式設計元件
目前Windows平台上主要使用的是ODBC、DAO、RDO、ADO、ADO.NET、OLEDB。
其他的資料庫程式設計接口由于被微軟棄用或者使用人數較少,等等原因我并沒有關心他們,目前主要學習的是OLEDB和ADO程式設計。由于ADO是針對OLEDB進行的在封裝的ActiveX控件,掌握了OLEDB,再學習ADO就沒有什麼難度了,是以我将重點放在OLEDB上,而對于ADO隻會簡單的進行簡單的步驟說明。
OLEDB的基本概念
- 資料提供者和資料消費者:在OLEDB中将接口兩端的軟體分别稱為資料提供者(一般指資料庫這一端,着重與資料的組織存儲)和資料消費者(指應用程式這一端,着重與資料庫資料的展示與使用)。OELDB是一種針對兩頭的程式設計接口,它為資料提供者和消費者分别準備了一組接口,資料提供者主要實作一些接口,用于将資料庫中的資料輸出到應用程式或者根據應用程式的指令完成資料的操作,而資料消費者主要使用其中提供的程式設計接口,實作資料的擷取或者更新等操作。(我覺得他們二者之間的關系就像是有一套标準的COM接口,一個負責調用,一個負責實作)從本質上說,OLEDB其實就是一個标準的資料庫與應用系統間的資料标準交換接口,它的好處就是高效,通用和靈活。
- 資料源:一般來講資料源可以了解為資料提供者或者了解為各個DBMS,但是在ADO中,資料源可以是文本檔案,excel或者xml檔案
MSDAC簡介
OLEDB程式設計的基本思路
- 首先建立資料源對象,指定連結資料庫的相關屬性,連結到資料庫
- 接着建立會話對象
- 根據回話對象建立出Command對象
- 利用Command對象執行SQL語句,并傳回結果集對象
- 讀取結果集對象中的資料,并輸出
-
最後關閉所有對象接口,關閉資料庫連接配接
這些東西在後面的内容中會一一進行詳細的說明,這篇博文就這樣隻開個頭。