介紹ADO.Net數據庫調試問題
ADO.Net有很多值得學習的地方,這里我們主要介紹ADO.Net,包括介紹ADO.Net等方面。在向大家詳細介紹ADO.Net之前,首先讓大家了解下ADO.Net,然后全面介紹ADO.Net。
這也是Delphi里面我們對于一個數據庫一般只采用一個連接的原因,為了減少數據庫連接的數目來降低數據庫負擔,當然COM+和MTS也提供了連接池機制,但是其連接池機制似乎不是很成熟,特別是MTS中采用系統的數據連接池可能會造成系統的死鎖,當然我們可以使用自己的連接池或者第三方的連接池來管理數據庫連接。
而在ADO.Net中這一功能是是系統的一部分,但是在使用中發現只有連接被關閉才會返回池中,如果連續的創建數據庫連接而已經使用的數據庫連接沒有被返回池中這個時候,ADO.Net會真實的創建數據庫連接并且返回給用戶。#t#
由此可見在ADO.Net中如果不關閉連接而是不停的請求連接是一件很恐怖的事情。對于ADO.Net中的連接我的看法是盡可能早的關閉(返回系統連接池),這樣可以加快系統反應速度而且能夠降低數據庫連接的數目。ADO的連接的關閉則是一個很有趣的事情,有的時候我們連接數據庫速度限制我們頻繁的關閉打開連接,為此我們可能需要保持一些連接以獲得速度。
ADO.Net是微軟的新一代數據訪問引擎,采用OLE DB作為數據訪問技術基礎,采用數據集脫離的方式來訪問修改數據。ADO是微軟的上一代數據訪問引擎,同樣是基于OLE DB進行數據訪問的數據訪問引擎(也許應該說是組件),ADO是采用COM封裝了OLE DB引擎的數據訪問組件。
對于ADO的數據訪問技術是比較成熟的。ADO 訪問數據的時候可以斷開連接也可以不斷開連接。但是對于ADO.Net而言保持連接簡直是浪費,因為其數據已經被提到了客戶端來處理,已經和數據庫沒有關系了。
所以在ADO.Net的數據庫系統中一般是當取回數據或者完成操作以后就會關閉數據庫連接(實際上也許沒有被關閉)。ADO.Net的數據庫連接的關閉是返回緩沖池中而不是一定斷開了和數據庫的連接,對于何時關閉這個連接由ADO.Net的緩沖池管理機制來決定。而ADO在使用的時候如果關閉了連接那么這個連接是真的被關閉了。