常用的數據庫訪問方式
發表時間:2024-01-26 來源:明輝站整理相關軟件相關文章人氣:
[摘要]ASP訪問數據庫的方式有哪些? 在ASP中可以通過三種方式訪問數據庫: 1、IDC(Internet Database Connector)方式; 2、ADO(ActiveX Data Objects)方式; 3、RDS(Remote Data Service)方式。 這三種訪問方式對數據庫的訪問...
ASP訪問數據庫的方式有哪些?
在ASP中可以通過三種方式訪問數據庫:
1、IDC(Internet Database Connector)方式;
2、ADO(ActiveX Data Objects)方式;
3、RDS(Remote Data Service)方式。
這三種訪問方式對數據庫的訪問都是由Internet Information Server完成的。通過Web瀏覽器用HTTP協議向IIS(Internet信息服務器)發送請求,IIS執行對數據庫的訪問,并返回一個HTML格式的文檔響應。下面分別說明:
1、IDC(Internet數據庫接口)
IDC是一個傳統的數據庫查詢工具,用來定義和執行數據庫查詢的SQL命令,并向瀏覽器返回一個指定數據格式的頁面。使用IDC訪問數據庫最大的特點是簡單,幾乎不需要編程就能實現對數據庫的訪問。
IDC使用兩種文件來控制如何訪問數據庫以及如何創建返回的Web頁面:IDC (.idc)文件和HTML擴展(.htx)文件。.idc文件必須包括ODBC數據源(Datasource)、HTML擴展文件的文件名(Template)以及要執行的SQL語句(SQLStatement)。此外還有許多可選字段,可以根據需要選用。
.htx文件是帶有用<%%>或<!--%%-->括起來的附加標記的HTML文檔,IDC用這些標記將動態數據添加到文檔中。在.htx文件中有六個關鍵字(begindetail、enddetail、if、else、endif和"%z"),用來控制數據庫中的數據怎樣和.htx文件中HTML格式進行合并。數據庫列名說明HTML文檔中什么數據被返回。
要執行IDC查詢,通常的做法是在HTML文件中嵌入一個.idc文件的連接。例如,我們可用下面的HTML語句向Web服務器發出請求,要求執行idctest.idc文件:
<A HREF="http://LocalHost/idctest/idctest/idctest.idc">查詢</A>
當Web服務器接到請求后,就調用Httpodbc.dll(IDC),與一定的數據源相連并把SQL命令傳給數據庫。當SQL語句被執行后,IDC把返回的數據融入到.htx文件中。IDC再把這個文檔返回給Web服務器,Web服務器再返回給瀏覽器。
2、ADO(ActiveX數據對象)
ADO訪問數據庫,更像編寫數據庫應用程序。它把絕大部分的數據庫操作封裝在七個對象中,在ASP頁面中編程調用這些對象執行相應的數據庫操作。
ADO是ASP技術的核心之一,它集中體現了ASP技術豐富而靈活的數據庫訪問功能。ADO建立了基于Web方式訪問數據庫的腳本編寫模型,不僅支持任何大型數據庫的核心功能,而且支持許多數據庫所專有的特性。
ADO使用本機數據源,通過ODBC訪問數據庫。這些數據庫可以是關系型數據庫、文本型數據庫、層次型數據庫或者任何支持ODBC的數據庫。主要優點是易用、高速、占用內存和磁盤空間少,所以非常適合于作為服務器端的數據庫訪問技術。相對于訪問數據庫的CGI程序而言,它是多線程的,在出現大量并發請求時,也同樣可以保持服務器的運行效率,并且通過連接池(Connection Pool)技術以及對數據庫連接資源的完全控制,提供與遠程數據庫的高效連接與訪問,同時它還支持事務處理(Transaction),以開發高效率、高可靠性的數據庫應用程序。
一般使用ADO訪問數據庫的ASP腳本程序應該使用Connection對象建立并管理與遠程數據庫的連接,用Command對象提供靈活的查詢,用Recordset對象訪問數據庫查詢所返回的結果。這三者是ADO的最核心的對象。
與IDC一樣,運行該數據庫訪問腳本的通常做法是在HTML文件中嵌入一個.asp文件的連接。如,用HTML語句向Web服務器發出請求,要求執行intels.asp文件:
<A HREF="http://LocalHost/idctest/ado/intels.asp">查詢</A>
3、RDS(遠程數據服務)
RDS在IIS 4.0中,與ADO集成到一起,使用同樣的編程模型,提供訪問遠程數據庫的功能。ADO雖然能夠提供非常強大的數據庫訪問功能,但是它不支持數據遠程操作(Data Remoting)。它只能執行查詢并返回數據庫查詢的結果,這種結果是靜態的,服務器上的數據庫與客戶端看到的數據沒有活的連接關系。如果用戶端需要修改數據庫,就必須構造修改數據的SQL語句,并執行相應的查詢。而RDS支持數據遠程操作。它不僅能執行查詢并返回數據庫查詢結果,而且可以把服務器端的數據“搬到”用戶端修改,并調用一個數據庫更新命令,將用戶端修改的數據寫回數據庫,象使用本地數據庫一樣。
RDS的底層是調用ADO來完成的,同樣具有ADO的易用性,區別僅在于RDS需要與數據綁定控件一同使用,比如Sheridan的ActiveX DataBound Grid控件。正如ADO類似于VB中的RDO一樣,RDS也類似于VB中的遠程數據控件(RDC)。
RDS在ADO的基礎上通過綁定的數據顯示和操作控件,提供給客戶端更強的數據表現力和遠程數據操縱功能。可以說RDS是目前基于Web的最好的遠程數據庫訪問方式。