ODBC OLEDB ADO等資料庫訪問技術

2021-06-07 18:12:37 字數 1608 閱讀 6758

花了點時間理了一下資料庫訪問技術相關的東西,一般地,乙個資料庫產品的發布後,相應地,會為開發者提供一套訪問改資料庫的介面,比如mysql提供的c api,可以通過這些資料庫產品本身的api進行資料庫操作。

比如:通過api mysql_init() mysql_real_connect()連線資料庫,其它的資料庫產品也相應的提供了類似的api。問題是,這樣直接通過底層資料庫產品的api開發應用

加大了開發難度,換了資料庫又要學習新的api,不適應快速發展的軟體開發模式,也降低了軟體的可重用性。為此,產生了許多標準的資料庫訪問技術。

1.odbc open database connectivity

odbc開放資料互聯技術提供了訪問關係型資料庫的統一介面,使用odbc api可以與任何具有odbc驅動程式的關係型資料庫互動,並且大部分資料庫都提供了

odbc驅動程式。

比如: odbc api連線資料庫如下

sqlreturn sqlconnect( sqlhdbc connectionhandle,    

sqlchar * servername,   

sqlsmallint namelength1,    

sqlchar * username,    

sqlsmallint namelength2,    

sqlchar * authentication,    

sqlsmallint namelength3);

odbc的體系結構如下:

dao 最早是微軟為了microsoft jet資料庫引擎提供給microsoft access所使用,現在也支援其他資料庫,mfc的cdaorecordset等類就是基於對dao的封裝產生的。

3.rdo remote data object

rdo直接呼叫odbc api可以為應用程式提供較好的效能。

4.ole db  object linking and embedding  database

ole db對odbc進行了擴充套件,成為關係型和非關係型資料庫訪問的介面。ole db 定義了一組 com 介面,對各種資料庫管理系統服務進行封裝,

並允許建立軟體元件,實現這些服務。

5.ado activex data object

ado建立在ole db之上,本身是ole db的客戶程式,使用ado的程式都間接的使用ole db,所以,ado可以看做是物件導向的ole db技術,是高層的

程式設計介面,簡化了ole db訪問資料庫。使用vc++ j進行ado程式設計時,需要初始化com環境

呼叫coinitialize(null),以及釋放com環境couninitialize(),mfc中可呼叫afxoleinit()初始化ole環境。

使用ado運算元據庫簡單高效,但ado操作時一定要使用try-catch捕獲異常。

只是簡單了理清了幾種資料庫的訪問方式,雖然有的可能已經不常用了,但知道了這些就能更好的先專攻某種主流技術而不會雲裡霧裡的,那種感覺實在太糟糕了。

下一步可能深入研究一下ole db/ado,努力。

ucos學習資料 論壇等

論壇 教程推薦 第一步.嵌入式實時作業系統 cos ii原理及應用 任哲編著 首選任哲的這本書。我建議先把這本書看一遍,弄清楚ucos是怎麼回事,至於作業系統裡面的具體 實現,大概了解就行,可以暫且不去細究。先會用,然後慢慢才能談上精通。第二步.基於嵌入式實時作業系統的程式設計技術 周慈航 這本書是...

C char int 等資料轉換問題

1,char型數字轉換為int型 char a 32 printf d n a 0 0 輸出結果為3 2,int轉化為char 1 字串轉換成數字,用atoi,atol,atof,分別對應的是整型,long型,double型。以整型為例 char str 1234 int a atoi str 2 ...

Power BI 神器 資料提取等

1 power query超級查詢,智慧型提取 注意 圖中的4應該是選擇分隔符之前的文字之後才輸入 提取 中間的號碼,選擇分隔符之間的文字 最終,記得 檔案 關閉並上載,完成 資料的輸入建立。2 power query實現二維資料變為一維資料的方法 智慧型轉換 單擊轉換的 滑鼠右鍵 轉換 逆透視列 ...