WEB开发网
开发学院数据库MSSQL Server 剖析SQL Server 2005查询通知之基础篇 阅读

剖析SQL Server 2005查询通知之基础篇

 2006-11-18 09:16:01 来源:WEB开发网   
核心提示: 在整个的.NET 2.0的设计过程中,SqlDependency底层架构从一种推模式(来自SQL Server)改变为一种拉模式(来自.NET),剖析SQL Server 2005查询通知之基础篇(5),这样做的原因是为了解决第一次设计时所导致的一些安全问题,微软的Sushil Chord

在整个的.NET 2.0的设计过程中,SqlDependency底层架构从一种推模式(来自SQL Server)改变为一种拉模式(来自.NET)。这样做的原因是为了解决第一次设计时所导致的一些安全问题。微软的Sushil Chordia在MSDN上发表了一篇有关于这种改进的文章,该文详细描述了这一改进的内在机理。

六. 你的第一个通知

下面,让我们开始使用SqlDependency来分析一下所有上面这些是如何协同工作的。

首先,我们创建一个类NotificationTest来存取你的数据。在这个类中,还要创建一个典型的函数以便从Pubs数据库的Authors表中查询一些数据并返回一个SqlDataReader。

Imports System.Data.SqlClient
Public Class NotificationTest
Public Function DepTest() As SqlDataReader
Dim conn As New SqlConnection(connstring)
conn.Open()
Dim cmd As New SqlCommand(
"SELECT * FROM authors(", conn)")
Dim rdr As SqlDataReader
rdr = cmd.ExecuteReader()
Return rdr
End Function
End Class

现在,让我们修改代码来加入这种依赖性。首先,声明一个名为SqlDependency的对象。为了使之用于该类中的其它函数中,我把它定义为一个类变量。

然后,你需要改变这个查询。查询通知要求你显式地列举在你的查询中的列,以及总是使用一种“两部分”的表名。注意一下在修改后的代码示例中的新的查询文本。

然后,实例化新的SqlDependency并且把它依附到命令中。

就是这些。当执行命令时,依赖性随着它直到数据库。在它处理查询的同时,SQL Server能够看到这一依赖性并且把它发送到Service Broker以注册它。

上一页  1 2 3 4 5 6  下一页

Tags:剖析 SQL Server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接