新聞中心
.Net的***更新。數(shù)據(jù)庫讀取技術(shù)也由原本地ADO進(jìn)化為ADO.Net。正如所有人所知道地,ADO.Net Team提供了更便捷地?cái)?shù)據(jù)庫讀寫能力以及優(yōu)秀地性能。 Connection Pool是ADO.Net一個(gè)用來提高性能地重要功能。

10年積累的做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有蓋州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
對于OLEDB以及ODBC, 連接池是由Driver決定地。對于Oracle地?cái)?shù)據(jù)庫,一般而言,ADO.Net Team以上地版本都建議運(yùn)用Oracle提供地ODP.Net。所以此文重點(diǎn)探討一下System.Data,SqlClient地Connection Pool。#t#
Connection Pool 是什么呢
每當(dāng)程序需要讀寫數(shù)據(jù)庫地時(shí)候。Connection.Open()會(huì)運(yùn)用ADO.Net Team連接到數(shù)據(jù)庫,數(shù)據(jù)庫會(huì)為程序建立一個(gè)連接,并且維護(hù)打開狀態(tài),此后程序就可以運(yùn)用T-SQL語句來查詢/更新數(shù)據(jù)庫。當(dāng)執(zhí)行到Connection.Close()后,數(shù)據(jù)庫就會(huì)關(guān)閉當(dāng)前地連接。很好,一切看上去均為如此有條不紊。
當(dāng)然如果我地程序需要不定時(shí)地打開和關(guān)閉連接,(比如說 ASP.NET 或是 Web Service ),例如當(dāng)Http Request發(fā)送到服務(wù)器地時(shí)候、,我們需要打開Connection 然后運(yùn)用Select* from Table 返回一個(gè)DataTable/DataSet給客戶端/瀏覽器,然后關(guān)閉當(dāng)前地Connection。那每次都ADO.Net Team如此地頻繁操作對于整個(gè)系統(tǒng)擇定確定就成了一種浪費(fèi)。#t#
ADO.Net Team就給出了一個(gè)比較好地解決方法。將先前地Connection保存起來,當(dāng)下一次需要打開連接地時(shí)候就將先前地Connection 交給下一個(gè)連接。這就是Connection Pool。首先當(dāng)一個(gè)程序執(zhí)行Connection.open()時(shí)候,ADO.net就需要判斷,此連接是否支持Connection Pool (Pooling 默認(rèn)為True),如果指定為False, ADO.net就與數(shù)據(jù)庫之間創(chuàng)建一個(gè)連接(為了避免混淆,所有數(shù)據(jù)庫中地連接,都運(yùn)用”連接”描述),然后返回給程序。
如果指定為True,ADO.net就會(huì)根據(jù)ConnectString創(chuàng)建一個(gè)ADO.Net Team,然后向Connection Pool中填充Connection(所有.net程序中地連接,都運(yùn)用”Connection”描述)。填充多少個(gè)Connection由Min Pool Size (默認(rèn)為0)屬性來決定。例如如果指定為5,則ADO.net會(huì)一次與SQL數(shù)據(jù)庫之間打開5個(gè)連接,然后將4個(gè)Connection,保存在Connection Pool中,1個(gè)Connection返回給程序。
文章名稱:描述ADO.Net Team連接創(chuàng)建數(shù)據(jù)庫
鏈接地址:http://m.5511xx.com/article/ccssgdh.html


咨詢
建站咨詢
