亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊(cè)會(huì)員 設(shè)為首頁(yè) | 收藏本站
當(dāng)前位置 : 首頁(yè)>軟件學(xué)院>數(shù)據(jù)庫(kù)>SQL>正文
 
SQL Server2005查詢通知

http://m.yibo1263.com 2008/5/4 19:19:12  來(lái)源:yesky  編輯:阿拉格調(diào)
 

· 返回到應(yīng)用程序的信息也不過(guò)是“something changed”。該應(yīng)用程序并不被通知改變了什么(請(qǐng)參考本文中的SQLNotificationEventArgs一節(jié)了解更多的信息)。

· 盡管依賴性被綁定到從查詢中返回的行上;但是,它并不被查詢中的單個(gè)列加以過(guò)濾。如果你有一個(gè)查詢—它返回你的組織的基本成員姓名以及那些單個(gè)改變之一的地址(但是,其姓名并不改變),這將觸發(fā)一個(gè)改變通知。很希望,這種特殊行為在未來(lái)的版本中會(huì)有所改變。

· 通知被返回,通過(guò)一個(gè)專門針對(duì)這一目的建立的SqlConnection。這個(gè)連接并不加入連接池中。

三. 何時(shí)使用查詢通知

查詢通知是針對(duì)于并不經(jīng)常改變的數(shù)據(jù)而設(shè)計(jì)的。最好把它應(yīng)用于服務(wù)器端的應(yīng)用程序(例如ASP.NET或remoting)而不是客戶端應(yīng)用程序(例如Windows表單應(yīng)用程序)。記住,每一個(gè)通知請(qǐng)求都要在SQL Server中注冊(cè)。如果你擁有大量的都有通知請(qǐng)求的客戶端應(yīng)用程序,那么這可能會(huì)導(dǎo)致你的服務(wù)器產(chǎn)生資源問(wèn)題。微軟推薦,對(duì)于客戶端應(yīng)用程序,你應(yīng)該限制查詢通知使用為不多于十個(gè)并行用戶。

對(duì)于大規(guī)模應(yīng)用程序來(lái)說(shuō),查詢通知可能是一種強(qiáng)有力的幫助,而不用簡(jiǎn)單地添加越來(lái)越多的服務(wù)器以滿足要求。設(shè)想,有一家大型的為成千上百萬(wàn)用戶提供在線軟件更新服務(wù)的軟件公司。不是使每一個(gè)用戶的更新操作都觸發(fā)服務(wù)器上的另一個(gè)查詢來(lái)確定需要哪些組件,而是能夠緩沖查詢結(jié)果并且可以直接從該緩存中服務(wù)匹配的查詢。

注意:對(duì)于客戶端應(yīng)用程序來(lái)說(shuō),應(yīng)該限制你的查詢通知使用—不多于十個(gè)并發(fā)用戶。

對(duì)于較小規(guī)模的情況而言,下拉式列表框是另一種典型的數(shù)據(jù)集;此時(shí)該數(shù)據(jù)集更新的次數(shù)并不如請(qǐng)求的次數(shù)多。產(chǎn)品列表、州列表、國(guó)家列表、供應(yīng)商、銷售人,甚至更多不太需要頻繁改變的信息正是使用通知的較好候選。

為使用查詢通知作準(zhǔn)備

因?yàn)槟J(rèn)情況下SQL Server 2005處于高度安全的狀態(tài),所以你需要“打開(kāi)”一些功能才能使用查詢通知。首先,你要使用的每一個(gè)數(shù)據(jù)庫(kù)都需要啟動(dòng)Service Broker功能。為此,你可以在T-SQL中使用如下命令實(shí)現(xiàn):

USE mydatabase

ALTER DATABASE mydb SET ENABLE_BROKER

另外,你需要授予一些SQL Server權(quán)限以允許非管理員帳戶能夠參與使用查詢通知。

五. SqlDependency.Start和Stop

SqlDependency和SqlCacheDependency都要求,在任何通知請(qǐng)求前先調(diào)用靜態(tài)方法SqlDependency.Start()。這個(gè)方法負(fù)責(zé)創(chuàng)建一個(gè)SqlConnection以實(shí)現(xiàn)在數(shù)據(jù)改變時(shí)接收通知。注意,你僅需要在一個(gè)應(yīng)用程序的生命周期的開(kāi)始建立這些內(nèi)容。例如,在一個(gè)ASP.NET應(yīng)用程序中,global.asax文件的Application_Start事件處理器就是實(shí)現(xiàn)這一功能的好地方。

注意,對(duì)包含在通知中的每一個(gè)連接都應(yīng)該調(diào)用Start方法。因此,如果你在應(yīng)用程序中存取多個(gè)數(shù)據(jù)庫(kù),那么你需要為每一個(gè)數(shù)據(jù)庫(kù)調(diào)用Start。在下列示例中,有一個(gè)針對(duì)Pubs數(shù)據(jù)庫(kù)的連接串pubsConn,它在這個(gè)應(yīng)用程序的web.config文件中定義。

為了切斷這個(gè)連接,你可以使用SqlDependency.Stop(),這也是一個(gè)靜態(tài)方法。

Sub Application_Start(ByVal sender as Object, _

ByVal e as EventArgs)

System.Data.SqlClient.SqlDependency.Start _

(System.Configuration.ConfigurationManager. _

Connectionstrings("pubsConn").ConnectionString)

End Sub

Sub Application_End(ByVal sender as Object,

ByVal e as EventArgs)

System.Data.SqlClient.SqlDependency.Stop _

(System.Configuration.ConfigurationManager. _

Connectionstrings("pubsConn").ConnectionString)

End Sub

如果你在調(diào)用Start和Stop的同時(shí)觀察SQL Server Profiler,那么你會(huì)看到許多有趣的信息。當(dāng)調(diào)用Start時(shí),應(yīng)用程序運(yùn)行一個(gè)查詢以確保支持Service Broker,然后創(chuàng)建一個(gè)存儲(chǔ)過(guò)程備以后用于清除在Service Broker基礎(chǔ)結(jié)構(gòu)中的SqlDependency隊(duì)列和服務(wù)。最后,它運(yùn)行一個(gè)SQL Server 2005 WaitFor命令,該命令負(fù)責(zé)查詢?cè)贜otification Service部分的入口。這就是如果你使用ADO.NET的低級(jí)SqlNotificationRequest對(duì)象的話所有你需要顯式完成的事情。

本新聞共4頁(yè),當(dāng)前在第2頁(yè)  1  2  3  4  

收藏】【打印】【進(jìn)入論壇
  相關(guān)文章:

·SQL Server2005數(shù)據(jù)加密技術(shù)應(yīng)用研究

 
 
 
最新文章

搶先蘋(píng)果,消息稱英特爾芯片采用臺(tái)積電
三星揭曉業(yè)內(nèi)首款單條 512GB DDR5 內(nèi)存
vivo 高端新機(jī)爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息稱三星 Galaxy Tab S8 系列平板將放
機(jī)械革命推出 F6 輕薄本:16 英寸全面屏
英特爾 12 代 Alder Lake CPU 600 系列
雷軍:向小米手機(jī) 1 首批用戶每人贈(zèng)送價(jià)
小米李明談?dòng)脩舯惶叱?nbsp;MIUI 測(cè)試版:大

推薦文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感寫(xiě)真
宮如敏不雅照瘋傳 看張馨予韓一菲獸獸誰(shuí)
不懼孔子搶位 阿凡達(dá)游戲影音配置推薦
2015第十七屆“東北安博會(huì)”火爆招商
第十六屆東北國(guó)際公共安全防范產(chǎn)品博覽
2016年第五屆中國(guó)國(guó)際商業(yè)信息化博覽會(huì)
2016年第五屆中國(guó)國(guó)際POS機(jī)及相關(guān)設(shè)備展
互聯(lián)網(wǎng)電視熟了嗎 2013最火電視深解析
桑達(dá)獲邀出席2015中國(guó)(廣州)國(guó)際POS機(jī)
寶獲利報(bào)名參加“2015年度中國(guó)POS機(jī)行業(yè)
八卦圖解 More>>
叛逆嫩模性感寫(xiě)真 宮如敏不雅照瘋傳 看張馨予韓一菲
周偉童魔鬼身材日本性感寫(xiě)真圖  聯(lián)想V360筆記本模特寫(xiě)真
阳朔县| 汉川市| 姜堰市| 孝义市| 永宁县| 高邮市| 毕节市| 苗栗县| 内丘县| 襄城县| 凌海市| 三门县| 洛阳市| 红安县| 丽江市| 淮南市| 若羌县| 闵行区| 得荣县| 图们市| 曲水县| 灵武市| 防城港市| 旅游| 遂昌县| 华蓥市| 麟游县| 宜城市| 务川| 五华县| 贡山| 利辛县| 达拉特旗| 读书| 远安县| 资兴市| 辛集市| 犍为县| 樟树市| 德庆县| 含山县|