ODBC與ADO
通常,軟件應用程序是用特定的編程語言(如Java、C#等)編寫的,而數據庫則接受其他特定於數據庫的語言(如SQL)的查詢。因此,當軟件應用程序需要訪問數據庫中的數據時,需要一個能夠相互翻譯語言(應用程序和數據庫)的接口。否則,應用程序程序員需要學習並在其應用程序中結合特定於數據庫的語言。ODBC(開放式數據庫連接)和oledb(對象鏈接和嵌入,數據庫)是解決這個特定問題的兩個接口。ODBC是一個平臺、語言和操作系統無關的接口,可用於此目的。oledb是ODBC的繼承者。ADO是oledb的包裝器。
什麼是ODBC?
ODBC是訪問數據庫管理系統(DBMS)的接口。ODBC是SQL Access Group在1992年開發的,當時數據庫和應用程序之間還沒有標準的通信媒介。它不依賴於特定的編程語言、數據庫系統或操作系統。程序員可以使用ODBC接口編寫應用程序,這些應用程序可以查詢任何數據庫中的數據,而不管它運行的環境是什麼,也不管它使用的是什麼類型的DBMS。
由於ODBC驅動程序充當應用程序和數據庫之間的轉換器,ODBC能夠實現語言和平臺的獨立性。這意味著應用程序不再需要知道特定於數據庫的語言。相反,它只知道並使用ODBS語法,驅動程序將用它能理解的語言將查詢轉換到數據庫中。然後,以應用程序可以理解的格式返回結果。ODBC軟件API可以用於關係數據庫系統和非關係數據庫系統。將ODBC作為應用程序和數據庫之間的通用中間件的另一個主要優點是,每次數據庫規範更改時,軟件都不需要更新。只有更新ODBC驅動程序就足夠了。
什麼是ADO?
ADO是COM(組件對象模式)對象的集合,這些對象充當訪問數據源中數據的接口。ADO是微軟在1996年開發的,作為微軟數據訪問組件(MDAC)的一部分。ADO在用某種編程語言編寫的應用程序和oledb(微軟開發的數據API,ODBC的繼承者)之間形成了一箇中間件層。程序員可以使用ADO訪問數據,而不必知道數據庫的底層實現細節。雖然使用ADO不需要知道任何SQL,但是可以使用它執行SQL語句。
ODBC和ADO有什麼區別?