remoting資料庫
❶ 詳細比較在ASP中通過ADO介面實現對資料庫訪問的三種不同格式的特點
在ASP腳本中可以通過三種方式訪問資料庫:
● IDC(Internet Database Connector)方式
● ADO(ActiveX Data Objects)方式
● RDS(Remote Data Service)方式
從概念上來講,這三種訪問方式對資料庫的訪問是由Internet Information Server來完成的。Web瀏覽器用HTTP協議向Internet信息伺服器(IIS)遞交請求。Internet信息伺服器執行訪問資料庫的操作,並以一個HTML格式的文檔作為回答。
1.Internet資料庫介面(IDC)
IDC是一個傳統的資料庫查詢工具,用來定義和執行資料庫查詢的SQL命令,並向瀏覽器返回一個指定數據格式的頁面。使用IDC訪問資料庫最大的特點是簡單,幾乎不需要編程就能實現對資料庫的訪問。
2.ActiveX數據對象(ADO)
與IDC不同,用ADO訪問資料庫更類似於編寫資料庫應用程序,ADO把絕大部分的資料庫操作封裝在七個對象中,在ASP頁面中編程調用這些對象執行相應的資料庫操作。ADO是ASP技術的核心之一,它集中體現了ASP技術豐富而靈活的資料庫訪問功能。ADO建立了基於Web方式訪問資料庫的腳本編寫模型,它不僅支持任何大型資料庫的核心功能,而且支持許多資料庫所專有的特性。ADO使用本機數據源,通過ODBC訪問資料庫。這些資料庫可以是關系型資料庫、文本型資料庫、層次型資料庫或者任何支持ODBC的資料庫。ADO的主要優點是易用、高速、佔用內存和磁碟空間少,所以非常適合於作為伺服器端的資料庫訪問技術。相對於訪問資料庫的CGI程序而言,它是多線程的,在出現大量並發請求時,也同樣可以保持伺服器的運行效率,並且通過連接池(Connection Pool)技術以及對資料庫連接資源的完全控制,提供與遠程資料庫的高效連接與訪問,同時它還支持事務處理(Transaction),以開發高效率、高可靠性的資料庫應用程序。
正是因為使用ADO需要編寫腳本程序,所以ADO能夠實現更復雜、更靈活的資料庫訪問邏輯。目前,ADO包括Command、Connection、Recordset等七個對象和一個動態的Properties集合,絕大部分的資料庫訪問任務都可以通過它們的組合來完成。
1.3 ODBC與ADO對象
1.3.1 ASP訪問資料庫的幾種方式
3.遠程數據服務(RDS)
RDS是IIS 1.0中新提出的概念,它是由ASP中原來的Advanced Data Connector(ADC)發展而來的。在IIS 1.0中,RDS與ADO集成到一起,使用同樣的編程模型,提供訪問遠程資料庫的功能。
ADO雖然能夠提供非常強大的資料庫訪問功能,但是它不支持數據遠程操作(DataRemoting)。換句話說,ADO只能執行查詢並返回資料庫查詢的結果,這種結果是靜態的,伺服器上的資料庫與客戶端看到的數據沒有「活的連接關系」。假如,客戶端需要修改資料庫中的數據,就必須構造修改數據的SQL語句,執行相應的查詢動作。而RDS就比ADO更進一步,它支持數據遠程操作。它不僅能執行查詢並返回資料庫查詢結果,而且這種結果是「動態的」, 伺服器上的資料庫與客戶端看到的數據保持「活的連接關系」。即把伺服器端的數據搬到客戶端,在客戶端修改數據後,調用一個資料庫更新命令,就可以將客戶端對數據的修改寫回資料庫,就象使用本地資料庫一樣。
由於RDS與ADO集成,RDS的底層是調用ADO來完成的,所以也可以將RDS理解為ADO的RDS,即ActiveX數據對象的遠程數據服務。RDS在ADO的基礎上通過綁定的數據顯示和操作控制項,提供給客戶端更強的數據表現力和遠程數據操縱功能。可以說RDS是目前基於Web的最好的遠程資料庫訪問方式。
以上就是ASP訪問資料庫的三種方式,它們三者各有各的特色。IDC十分簡單,使用.idc文件和.htx文件分別完成資料庫的訪問與輸出任務,但是使用起來不靈活。ADO是ASP中推薦使用的方式,它功能強大,使用方便,是ASP的核心技術之一,但是它在提供用戶遠程操作資料庫的功能時,比較復雜,實現起來有一定的難度。而RDS是基於ADO的,並提供遠程操作資料庫的強大工具。所以在需要提供高性能、高可靠性的遠程數據操作功能時,RDS是更為理想的選擇。