當前位置:首頁 » 密碼管理 » ado訪問資料庫的優點

ado訪問資料庫的優點

發布時間: 2023-11-02 23:08:03

Ⅰ 詳細比較在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是更為理想的選擇。

Ⅱ 資料庫編程用ADO好,還是ODBC好

這要看具體情況,如果對資料庫的底層訪問很看重,則用ODBC,如果只是需要一個資料庫的介面,而具體細節不是很重要的話,則用ADO。大多數情況下,使用ADO。
ODBC:
直接使用ODBC API編寫應用程序需要編制大量代碼,Visual C++提供了MFC ODBC類,其中封裝了ODBC API,因此,使用MFC來創建ODBC的應用程序非常簡便。主要的MFC ODBC類如下所示。
CDatabase類:一個CDatabase對象表示一個到數據源的連接,通過它可以操作數據源。應用程序可使用多個CDatabase對象,構造一個對象並調用OpenEx()成員函數打開一個連接。接著構造CRecordSet對象以操作連接的數據源,並向 CDatabase對象傳遞記錄集構造程序指針。完成後用Close()成員函數銷毀CDatabase對象。一般情況下並不需要直接使用CDatabase對象,因為CRecordSet對象可以實現大多數的功能。但是在進行事務處理時,CDatabase就起到關鍵作用。事務(Transaction)指的是將一系列對數據源的更新放在一起,同時提交或一個也不提交,為的是確保多用戶對數據源同時操作時的數據正確性。
CRecordSet類:一個CRecordSet對象代表一個從數據源選擇的一組記錄的集合——記錄集。記錄集有兩種形式,snapshot和dynaset,前者表示數據的靜態試圖,後者表示記錄集和其他用戶對資料庫的更新保持同步。通過CRecordSet對象,用戶可以對資料庫中的記錄進行各種操作。
CRecordView類:CRecordView對象是在空間中顯示資料庫記錄的視圖。這種視圖是一種直接連到CRecordSet對象的格式視圖,它從一個對話框模板資源創建,並將CRecordSet對象的欄位顯示在對話框模板的控制項中。對象利用DDX和RFX機制,使格式上的控制項和記錄集的欄位之間數據移動自動化,也就是說,用戶不用編寫一行代碼就可以實現簡單的資料庫記錄查看操作。
CDBException:由Cexception類派生,以3個繼承的成員變數反映對資料庫操作時的異常。
m_nRetCode:以ODBC返回代碼(SQL_RETURN)的形式表明造成異常的原因。
m_strError:字元串,描述造成拋出異常的錯誤原因。
m_strStateNativeOrigin:字元串,用以描述以ODBC錯誤代碼表示的異常錯誤。
MFC資料庫類成員函數都能拋出CDBException類型異常,所以在代碼對資料庫進行操作後監測異常是正確的做法。
ADO:
ADO技術是基於OLE DB的訪問介面,它繼承了OLE DB技術的優點,並且,ADO對OLE DB的介面作了封裝,定義了ADO對象,使程序開發得到簡化。ADO技術屬於資料庫訪問的高層介面。ADO基於COM,提供編程語言可利用的對象,除了面向VC++,還提供面向其他各種開發工具的應用,如VB、VJ等。ADO在伺服器應用方面非常有效,特別是對於動態伺服器頁面(ASP,Active Server Page)的支持。
ADO對象結構類似於OLE DB,但並不依靠對象層次。大多數情況下,用戶只需要創建並使用需要處理的對象。ADO 最主要的優點是易於使用、速度快、內存支出少和磁碟遺跡小。ADO 在關鍵的應用方案中使用最少的網路流量,並且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的介面。下面的對象類組成了ADO介面。
Connection:用於表示與資料庫的連接,以及處理一些命令和事務。
Command:用於處理傳送給數據源的命令。
Recordset:用於處理數據的表格集,包括獲取和修改數據。
Field:用於表示記錄集中的列信息,包括列值和其他信息。
Parameter:在傳送給數據源的命令之間傳遞數據。
Property:用於操作在ADO中使用的其他對象的詳細屬性。
Error:用於獲得可能發生的詳細錯誤信息。

Ⅲ ADO是什麼它的作用是什麼

ADO是一種程序對象,用於表示用戶資料庫中的數據結構和所包含的數據。

在Microsoft Visual Basic編輯器中,可以使用ADO對象以及ADO的附加組件(稱為Microsoft ADO Extensions for DLL and Security(ADOX))來創建或修改表和查詢、檢驗資料庫、或者訪問外部數據源。還可在代碼中使用ADO來操作資料庫中的數據。

(3)ado訪問資料庫的優點擴展閱讀

像Microsoft的其它系統介面一樣,ADO是面向對象的。它是Microsoft全局數據訪問(UDA)的一部分,Microsoft認為與其自己創建一個數據,不如利用UDA訪問已有的資料庫。

為達到這一目的,Microsoft和其它資料庫公司在它們的資料庫和Microsoft的OLE資料庫之間提供了一個「橋」程序,OLE資料庫已經在使用ADO技術。

ADO技術優勢

1、ADO的優勢就是擁有更好的LINQ提供程序、文檔,並且是由微軟所支持的。

2、ADO具有大量Entity Framework 4.0所不具備的特性,像批量讀/寫、「額外的」延遲、集合過濾器、調整等等。

3、ADO工具的普遍開發速度快。

參考資料:網路—ActiveX Data Objects

Ⅳ 請介紹一下ADO.NET框架下幾種資料庫訪問技術的優缺點。詳細一點

數據源控制項訪問資料庫:簡單快捷,但是真正的開發中不會去這樣用的,因為1是效率問題2是靈活性不足,這就跟ASP.NET裡面的其他控制項一樣,正的要做大應用是不會用這種東西的,因為擴展性不足,或者為了做到兼容性損失了效率。 使用.NET數據提供程序訪問資料庫:共有4種,SQL Server .NET Framework數據提供程序,OLEDB .NET Framework數據提供程序,ODBC .NET Framework數據提供程序,Oracle .NET Framework數據提供程序。看名字也該明白,針對不同的資料庫使用不同的數據提供程序,這是開發中最經常使用的方式,缺點是米有辦法應對多資料庫的情況,也就是說假如你的應用是面向多資料庫的,那麼有幾種資料庫,基本要寫幾套SQL。 用DATASet:恭喜你不用寫T-SQL了,但是你要學會它的語法,從此不用擔心多資料庫應用的問題。但是慘了,它為了兼容多種資料庫因此T-SQL寫的真的「很兼容」執行效率太低,同樣的一個表現結果,這個SQL嵌套了好幾次,效率灰常低。 LINQ to SQL:老實講,他就是為SQL SERVER而生的,你也不用寫T-SQL了,它的語法學學還是好處頗多,因因為你在LINQ TO OBJECT上也能見到這種語法的影子收益頗多,它的執行效率很快,但是不管怎麼講也沒有你直接用SQL Server .NET Framework數據提供程序,自己寫SQL快,可控製程度高,好處也是顯而易見就像用DATASET一樣,你不用再為了數據持久化問題寫一大堆ORM的東西了。 by the way,目前.NET中,ORM用的比較多的是Nhibernate,但是你如果就想用SQL SERVER還是用LINQ to SQL吧,好處顯而易見,在開發過程中對於資料庫的變更也是比較常見的,你的資料庫欄位不知道會出現在哪個類,哪個文件中,如果用了DATASET,或LINQ2SQL在編譯階段你就可以察覺到這種變更帶來的影響。

Ⅳ 如何用asp連接SQL Server 資料庫

ASP連接SQL資料庫 的幾種方法介紹

在Internet網上隨處可見留言板、討論組、網上投票、網上調查、聊天室等Internet功能模塊,在許多單位的小型區域網中也運行著各種各樣的辦公自動化網路系統,這些程序都是利用ASP(Active Server Page)與資料庫技術結合而實現的。頁面與資料庫源建立連接是訪問資料庫的一步,也是最為重要的一步。

在ASP腳本中可以通過三種實用的方法連接資料庫:通過ODBC DSN建立連接,通過oledb建立連接,通過driver建立連接。

ActiveX數據對象(ADO)

ADO(ActiveX Data Object),是一組優化的訪問資料庫的專用對象集,它為ASP提供了完整的站點資料庫解決方案,它作用在伺服器端,提供含有資料庫信息的主頁內容,通過執行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點資料庫的信息。ADO的主要優點是易用、高速、佔用內存和磁碟空間少,所以非常適合於作為伺服器端的資料庫訪問技術。
ADO主要包括Connection,Recordset和Command三個對象, 它們的主要功能如下:
Connection對象:負責打開或連接資料庫文件;
Recordset對象:存取資料庫的內容;
Command對象:對資料庫下達行動查詢指令,以及執行SQL Server的存儲過程。

一、利用ADO組件直接連接資料庫方式

<%

Dim Conn,strConn

Set Conn=Server.CreateObjec(「ADODB.Connection」)

strConn=」Driver={SQL Server};Server=ServerName;」

「Uid=UserName;Pwd=Password;」

「DataBase=DatabaseName」

Conn.Open strConn,1,1

%>

二、通過ODBC DSN建立連接

運用ODBC數據源,首先必須在控制面板的ODBC中設置數據源,然後再編寫腳本和資料庫源建立連接。

1、創建 ODBC DSN

DSN:Data Source Name ;數據源名稱。

Windows DSN 文件(數據源名)主要是用來存儲資料庫連接信息。如果你有很多網頁需要傳送數據,就可以很簡單的通過DSN文件路徑來完成而不需要傳送數據到每個頁面了。

出於安全考慮,DSN文件一般放置再主機目錄的子目錄中,這樣不明訪問者就訪問不了這個目錄。DSN文件 需要在ASP和ADO一起訪問資料庫。名稱為:」_dsn」 在主機帳戶的根目錄中(註: DSN文件僅支持windows 方案)

ODBC(Open Database Connectivity,開放資料庫互連),要訪問一個資料庫,首先必須用ODBC組件管理器注冊一個數據源,管理器根據數據源提供的資料庫位置、資料庫類型及ODBC驅動程序等信息,建立起ODBC與具體資料庫的聯系。這樣,只要應用程序將數據源名提供給ODBC,ODBC就能建立起與相應資料庫的連接。

配置 SQL Server 資料庫系統 DSN:注意如果資料庫駐留在遠程伺服器上,請與伺服器管理員聯系,獲取附加的配置信息;下面的過程使用 SQL Server 的 ODBC 默認的設置為例。

在"創建新數據源"對話框中,從列表框中選擇"SQL Server",然後單擊"下一步"。鍵入 DSN 文件的名稱,然後單擊"下一步"。單擊"完成"創建數據源。鍵入運行 SQL 服務程序的伺服器的名稱、登錄 ID 和密碼。在"創建 SQL Server 的新數據源"對話框中,在"伺服器"列表框中鍵入包含 SQL Server 資料庫的伺服器的名稱,然後單擊"下一步"。選擇驗證登錄 ID 的方式。如果要選擇 SQL 伺服器驗證,請輸入一個登錄 ID 和密碼,然後單擊"下一步"。在"創建 SQL Server 的新數據源"對話框中,設置默認資料庫、存儲過程設置的驅動程序和 ANSI 標識,然後單擊"下一步"。(要獲取詳細信息,請單擊"幫助"。)在對話框(同樣名為"創建 SQL Server 的新數據源")中,選擇一種字元轉換方法,然後單擊"下一步"。(詳細信息,請單擊"幫助"。)在下一個對話框(同樣名為"創建 SQL Server 的新數據源")中,選擇登錄設置。 注意典型情況下, 您只能使用日誌來調試資料庫訪問問題。 在"ODBC Microsoft SQL Server 安裝程序"對話框中,單擊"測試數據源"。如果 DSN 正確創建,"測試結果"對話框將指出測試成功完成。

2、編寫腳本和資料庫源建立連接

ADO(ActiveX Data Objects ) 提供 Connection 對象,可以使用該對象建立和管理應用程序和 ODBC 資料庫之間的連接。Connection 對象具有各種屬性和方法,可以使用它們打開和關閉資料庫連接。編寫資料庫連接腳本,首先應創建 Connection 對象的實例,接著打開資料庫連接:

下面是通過數據源連接資料庫的代碼,為了資料庫的安全起見,我們在Golbal.asa文件里寫連接代碼,然後在頁面上調用。本例中,DSN數據源為數據源sjy。

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">

Sub Application_onStart

Application("ConnectDataSourceString")="DSN=sjy;UID=sa;PWD=;"

Sub Application_onEnd

End sub

</Script>

在ASP頁面上調用

<%

Dim conn,strconn

Set conn= Server.CreateObjec(「ADODB.Connection」)

Conn.open Application("ConnectDataSourceString")

%>

三、通過oledb建立連接

運用oledb方法建立頁面與資料庫的連接, 不需要創建 ODBC DSN數據源,直接編寫如下的腳本和數據源建立連接,是一種簡單易用的方法。

四、通過driver建立連接

通過driver建立頁面與資料庫的連接,同樣不需要創建ODBC DSN數據源,但必須知道實際的資料庫文件路徑或者數據源名(例如,SQLserver的資料庫)。

熱點內容
共享文件夾加密軟體 發布:2025-01-20 13:08:41 瀏覽:40
標識符是怎樣存儲的 發布:2025-01-20 13:08:39 瀏覽:894
怎麼看安卓大屏什麼牌子 發布:2025-01-20 13:08:35 瀏覽:258
ios開發java 發布:2025-01-20 13:02:42 瀏覽:881
速騰有側燈的是哪個配置 發布:2025-01-20 13:01:53 瀏覽:371
社保用戶名和密碼都忘記了怎麼辦 發布:2025-01-20 12:55:55 瀏覽:321
最優存儲形式是什麼 發布:2025-01-20 12:51:32 瀏覽:27
centos編譯php7 發布:2025-01-20 12:33:52 瀏覽:920
android本地伺服器搭建伺服器 發布:2025-01-20 12:17:54 瀏覽:474
安卓兩個焊點怎麼接 發布:2025-01-20 12:15:15 瀏覽:936