有許多種辦法可以連上一個數據庫 你可以用System DSN DSNless連接或是本地的OLEDB providerADO代碼? 這是什麼什麼玩藝兒? 也許你們中的許多人以前沒有聽說過 要回答這個問題我們先得回顧一下數據庫連接的歷史
期的數據庫連接是非常困難的 每個數據庫的格式都不一樣開發者得對他們所開發的每種數據庫的底層API有深刻的了解 因此能處理各種各樣數據庫的通用的API就應運而生了 也就是現在的ODBC(Open Database Connectivity) ODBC是人們在創建通用API的早期產物 有許多種數據庫遵從了這種標准被稱為ODBC兼容的數據庫 ODBC兼容的數據庫包括Access MSSQL Server ADO代碼等
ADO代碼並不是完美無缺的它仍然含有大量的低級的調用開發ODBC應用程序仍較困難 開發者不得不將大量的精力花在底層的數據庫通信中而不能專注於他們所要處理的數據 後來微軟提出了一個解決方案 DAO(Data Access Objects) DAO的代碼看起來象這樣
objItemAddNew
objItemName = Chair
objItemPrice =
objItemUpdate
你也許看過DAO的代碼 後來DAO演變為RDO(Remote Data Objects 為分布式數據庫體系設計) 再後來是ADO 盡管它們都有各自的不足之處 根據微軟的說法ODBC提供了本地SQL數據的存取DAO提供了高級的數據對象 ADO代碼都需要數據以SQL(Structured Query Language)的格式存儲 針對這些缺陷微軟提出了OLEDB一個基於COM的數據存儲對象能提供對所有類型的數據的操作甚至能在離線的情況下存取數據(比方說你使用的是你的便攜機你可以毫不費力地看到最後一次數據同步時的數據映像)
OLEDB位於ADO代碼層與應用程序之間 在你的ASP頁面裡ADO是位於OLEDB之上的應用程序 你的ADO調用先被送到OLEDB然後再交由ODBC處理 你可以直接連接到OLEDB層如果你這麼做了你將看到服務器端游標(recordset的缺省的游標也是最常用的游標)性能的提升 那我們該如何直接連接到OLEDB呢?
From:http://tw.wingwit.com/Article/program/net/201311/12806.html