标签: sqldependency

sql依赖如何用于来回传递数据

1)我想知道sql server如何在客户端和数据库之间建立通道.我想必须有一个频道,为什么sql server可以通过该频道向客户端发送通知.请详细讨论这个问题.因为我看到很多关于sql依赖的文章,但每个机构都给出了代码,但没有机构解释它是如何工作的细节.什么是服务经纪人?

Service Broker体系结构允许您构建松散耦合的SQL Server实例,以便实例使用正常的消息传递方式相互通信.Service Broker使用TCP/IP从网络传输消息,因此允许加密消息传递.它既适用于使用SQL Server实例的应用程序,也适用于将工作分配到多个SQL Server实例的应用程序.Service Broker允许使用Queue来保存消息,因此消息将被逐个处理,而调用者无需等待接收消息.

1)我想知道服务代理总是以加密格式传递消息?

2)Service Broker允许使用Queue来保存消息.服务代理使用的队列名称是什么.我如何才能看到该队列中存储的内容?

3)我看到很多人创建队列,但没有提到他们创建的原因?他们也没有在代码中使用该队列.这是一个网址和示例代码

http://www.dreamincode.net/forums/topic/156991-using-sqldependency-to-monitor-sql-database-changes/

CREATE QUEUE NameChangeQueue;
CREATE SERVICE NameChangeService ON QUEUE NameChangeQueue ([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]);

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO YourUserName;

ALTER DATABASE YourDatabaseName SET ENABLE_BROKER;
Run Code Online (Sandbox Code Playgroud)

他们从不使用NameChangeQueue队列为什么?我怎么知道谁将使用这个队列?

4)即使我看到人们创造角色但却不知道为什么在这种情况下需要角色?

所以请详细讨论我的所有要点,因为我需要了解所有要点.谢谢

c# sql-server sqldependency

7
推荐指数
1
解决办法
2554
查看次数

如何使用带有 STRING 参数的 SqlDependency

我试图检测是否对我正在使用的 SQL 表进行了任何更改。我只需要通过选择特定记录来指定搜索,因此我需要使用字符串参数。我明白,根据这个 MSDN 文件

The statement must not contain conditional statements that cannot change and cannot return results (for example, WHERE 1=0)

有没有办法在使用时包含字符串参数SqlDependency

如果它意味着什么,我使用SQL Server 2012VS 2010

到目前为止,这是我的代码。

代码输出"The above notification query is not valid."::

using System.Data;
using System.Data.SqlClient;


namespace AutoRegSession
{
    public partial class RoomActiveSession : Form
    {     
        public Timer timer = new Timer();         //Timer to measure update times
        public string SessionID;                  //String to hold selected sessionID
        string ConnStr …
Run Code Online (Sandbox Code Playgroud)

c# sql parameters sqldependency winforms

6
推荐指数
1
解决办法
1833
查看次数

在页面刷新时在ASP.Net Web应用程序中发出多个SQL通知

我在使用SQL Server通知时遇到问题.我正在ASP.net中开发一个Web应用程序,其中一个页面需要通知SQL Server数据库中某个表中的新条目.我正在使用SQL Server Notification服务和Signal R来实现此功能.我的网页似乎可以正常工作,获取有关新数据条目的更新.

刷新使用通知的页面时会出现问题.我发现数据库中单个条目的通知数量会因刷新次数而增加.因此,如果我刷新页面三次,我会收到一个条目的3个通知.我担心如果连接用户的数量增加,这对服务器来说会是一个负担.此外,如果在处理使用新条目更新页面的请求时出错,则用户会收到具有相同文本的多个错误消息.我尝试调试我的代码,发现SqlDependency所使用的对象的on change事件每次都会被激活多次,每次都有不同的ID.以下是我的代码使用通知的简要概述 -

  1. 我正在使用SQL Server 2012并enable_broker为数据库设置.

  2. global.asax,我正在使用application_startapplication_stop事件开始和停止SqlDependency.

  3. 在页面代码中,我SqlDependency使用命令对象在页面加载上设置新对象,以监视表的确切数据字段.

  4. onchangeSqlDependency对象火灾,我使用通知信号R毂类的UI.然后我删除对象的OnChange处理程序SqlDependency,调用SqlDependency.Stop(connectionstring),将SqlDependency对象设置为空,调用SqlDependency.Start(connectionstring)并最终SqlDependency使用命令对象再次设置对象以获取更新的数据.整个设置为no-stop-start-reset对象是继续监视数据的变化.

上面的步骤工作正常,但是当我刷新页面时,会重复刷新的次数.我通过更改代码和调试尝试了很多东西,但似乎没有解决问题.现在我想知道它是否是我错过的某个地方.

请帮我解决这个问题.如果需要任何其他信息,如环境,编码细节等,请告诉我.

此致,Tanmay

sql notifications sql-server-2008 sqldependency

6
推荐指数
1
解决办法
976
查看次数

asp.net的SqlDependency问题

我正在尝试使用server_broker功能从sqlserver获取更改的值.

我的代码如下

 protected void Page_Load(object sender, EventArgs e)
{
    GetData2();

}
private void GetData2()
{
    List<Masa> lst = new List<Masa>();
    using (SqlConnection con = Baglan.Sql)
    {
        string sql = "SELECT [Id],[Ad],[Durum] FROM [dbo].[Masa]";
        using (SqlCommand cmd = new SqlCommand(sql, con))
        {
            con.Open();
            SqlDependency dependency = new SqlDependency(cmd);
            dependency.OnChange += new OnChangeEventHandler(dependency_OnDataChangedDelegate);

            using (IDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                while (reader.Read())
                {
                    Masa alt = new Masa
                    {
                        Ad = reader["Ad"].ToString(),
                        Id = reader["Id"].ToString(),
                        Durum = reader["Durum"].ToString()
                    };

                    lst.Add(alt);
                }

                gridMasa.GetStore().DataSource = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net sqldependency ext.net

6
推荐指数
1
解决办法
2212
查看次数

SQLDependency 需要什么权限?

使用 SQLDependency 需要什么权限?我在网上查过书,但在这一点上不清楚。

sql-server sqldependency

6
推荐指数
1
解决办法
2875
查看次数

sqldependency的替代方案

我有一个mssql表,可以保存聊天信息.它具有计算列,具有数百万行,并由第三方应用程序使用/填充.现在我想使用此表在我的网站上显示聊天记录,并且将来有可能使用signalr发送消息.我使用sqldependency进行了几次测试,它只能用于我的情况下无法帮助的特定查询(我必须排除计算列,不能按最后一次msg排序,不能设置前100条消息等)

那么我的问题是什么呢?使用每隔x秒轮询数据库的Web服务?

旁注,我根本没有影响桌子.

c# sqldependency signalr

6
推荐指数
1
解决办法
3251
查看次数

三层体系结构中的SQL依赖关系和SignalR

我们有一个Web应用程序,它包含一个带有UI的3层后端(Controller/Biz/Data).我们的数据层单独负责从数据库实例(SQL)中提取数据,业务层向数据发送消息并创建派生属性,控制器负责将这些更改发送到UI.

我们需要在我们的应用程序中进行实时更新,必须在数据库级别(而不是控制器级别)进行跟踪.

我们选择使用SQL Dependency和SignalR作为我们的解决方案.

我所研究的有关SignalR和SQL依赖关系的所有内容都在数据库级别,其中SQL依赖关系将识别数据层中的所有更改和广播.出于显而易见的原因,此方法将绕过在业务层中创建的派生属性,并为我们提供不同的查找对象.

我能想到的唯一解决方案是使用SQL依赖关系来跟踪更改,将它们转储到某个表/对象中,然后使用轮询从控制器,商业层,数据层和备份中获取.

  • 问题1:有更好的解决方案吗?
  • 问题2:包含业务层逻辑的最佳解决方案是什么,但仍能跟踪数据层的变化?
  • 问题3:如果没有民意调查,这可能吗?

c# sql-server asp.net sqldependency signalr

6
推荐指数
1
解决办法
651
查看次数

在作为Windows服务托管的WCF类库项目中使用SqlDependency

我创建了一个通知服务,SqlDependency用于通知其他服务有关特定表中的更改.这是在Visual Studio的Windows服务模板中完成的.因此,在该OnStart事件中,SqlDependency创建订阅,并且在OnStop事件期间,完成取消订阅.

上述解决方案工作得很好.

现在,由于某些原因,我必须将其作为WCF类库项目并将其作为Windows服务托管.我无法想到SqlDependency在这种情况下可以进行订阅和取消订阅的地方.

启动Windows服务时,必须自动完成订阅.

注意:我有一个通用的Windows服务主机,它将托管我所有的WCF类库项目,并且在那里做不了多少.

这有什么解决方案或解决方法吗?

c# wcf windows-services sqldependency

6
推荐指数
1
解决办法
98
查看次数

检测SQL数据库更改

考虑这个例子:

INSERT INTO [Table] (column1)
SELECT value1
Run Code Online (Sandbox Code Playgroud)

如果我要在SSMS中执行此命令,关于ac#forms应用程序,为了识别此事件,我需要做些什么?像显示MessageBox此事件发生时的应用程序一样简单.我似乎无法解决这个问题或找到任何有用的数据.我试图使用,SqlDependency但没有运气.如果那是我需要走的道路,有人能帮我理解这个概念好一点吗?

c# sql service-broker listener sqldependency

5
推荐指数
1
解决办法
8840
查看次数

我可以将SqlDependency与多个侦听器/负载平衡一起使用吗

我当前正在将SqlDependency与SQL Server 2012 Service Broker一起使用,并且希望能够配置两台服务器,既可以侦听Service Broker并提取队列,但消息总数应仅从队列中提取一次。每台机器都应尝试降低其能力,但是如果有太多机器进来,则应平衡其能力。现在,我启动该程序的两个实例,并且都在侦听。一旦添加了新消息,它们都会从队列中提取同一条消息并运行代码。

SqlDependency不是我想要做什么的解决方案吗?什么是更好的解决方案呢?

c# service-broker sqldependency sql-server-2012

5
推荐指数
1
解决办法
1334
查看次数