问题标签 [sqldependency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
818 浏览

asp.net - 用于在表更改时触发代码的 SQL 通知的替代方案

因此,我刚刚继承了一个应用程序,该应用程序使用与 SQL 通知服务关联的 SQL 依赖函数,以便在数据库中的一个表发生更改时执行某些功能。具体来说,我有一个 MVC 网站 - 在 global.asax 文件中有一个监听函数,它根据数据更改在表更改时更新路由约束。

不幸的是,我们也迁移到了 SQL Server 2008。现在,我根本无法使用此功能。据我所知,它实际上已在 SQL Server 2008 中被删除,尽管令人讨厌的是,它有时在出错时似乎会触发。这让我有点困惑,但似乎该服务不再可用。

所以我需要一个建议的替代方案。我查看了 StreamInsight,但坦率地说,这似乎是一把大锤。另外,我有点怀疑未来可能会删除对它的支持,就像对通知服务的支持一样。最简单的方法是简单地安排一个控制台应用程序每 5 分钟左右完成一次工作,但立即更新会非常可取,而且我不确定让命令行应用程序更新某些内容有多容易网站上的基础作为路由。

所以 - 有什么建议吗?

0 投票
1 回答
519 浏览

.net - SqlDependency 与 SQL 集群?

我有一个关于 SqlDependency 的简短问题。我在故障转移集群中配置了两台 SQL 2005 服务器。

当活动节点更改时,我停止接收通知...我必须手动重新启动托管 SqlDependency 的 Windows 服务...

这是正确的行为吗?如何自动重新启动依赖项?

提前致谢!!

附言。对不起,我的英语很烂!来自阿根廷的欢呼!!!

0 投票
1 回答
849 浏览

asp.net - 如何在类中使用 SqlDependency?

我有一个大问题。当我在 Windows 窗体中实现 SqlDependency 观察程序时,只要我将“OnChance”事件调用到 ui 线程,一切都会正常工作。

如果我将我的方法移动到一个类中,我将无法执行 Invoke 和 InvokeRequired,因为我的类没有实现 ISynchronizeInvoke。如果我评论这些行,程序会挂在“SetSqlWatcher”的第一行:

当我在 windowsform 中注释这些行时也会发生同样的情况,因此我认为 _OnChance 事件与我第一次调用 SetSqlWatcher 时使用的“线程”位于不同的线程上。

我还尝试实现 ISynchronizeInvoke(在库http://nitoasync.codeplex.com中的 GenericSynchronizingObject 的帮助下)。我调试,看到,代码必须第一次调用它,但它也挂在“SqlDependency.Stop”中......

有人可以帮助我吗,也许可以解释一下为什么这行不通?

非常感谢!最好的问候托马斯

0 投票
1 回答
224 浏览

visual-c++ - 可以在 C++ 中使用查询通知吗?如果是,那么如何,如果不是,可能有替代方案

可以在 C++ 中使用查询通知吗?如果是,那么如何,如果不是,可能有替代方案..

MSDN 提供了有关如何使用 sqlDependency 使用查询通知的 C# 示例,但我需要将此类功能用于 C++ 应用程序。所以你怎么看..?

0 投票
1 回答
749 浏览

c# - SqlDependency 订阅使用硬编码 SQL 命令注册,但未使用 LINQ

我正在尝试使用 LINQ 获取 SQL 依赖项通知。

我使用硬编码的命令文本成功:

我看到QN: SubscriptionSQL Server Profiler 中列出了一个事件,其文本包括subscription registered. discounts之后的一切都很好 - 当对表格进行更改时,我会收到通知。

但是,如果我使用 LINQ 尝试相同的查询:

results正确返回,但 Profiler 中没有QN: Subscription事件(因此我不会收到更改通知)。根据http://www.simple-talk.com/sql/t-sql-programming/using-and-monitoring-sql-2005-query-notification/如果订阅注册失败,应该有一个不同文本的条目但甚至没有,所以似乎服务器甚至没有收到请求。

请谁能告诉我我做错了什么或指出我正确的方向。

0 投票
1 回答
1275 浏览

c# - 使用 SqlDependency 进行缓存

我正在使用 SqlDependency 来监视数据库中的更改。假设这些是股票报价,以使示例易于理解。该应用程序还使用(另一个)SqlDependeny-Object 来监视对静态数据的更改,这些数据缓存在应用程序中。

我所做的是在启动应用程序时启动依赖项,并在关闭应用程序时SqlDependency.Start()调用。SqlDependeny.Stop到目前为止,一切都运行良好。

现在,当用户选择股票代码时,会设置另一个 SqlDependency 并通知我更改,我可以对其采取行动。当用户更改他想要跟踪的符号时,我必须设置一个新的 SqlDependency 并且必须清除旧的 SqlDependency

我的问题是:这是真的吗?我怎样才能清除特定的依赖关系?SqlDependency.Stop()是一种静态方法并停止所有依赖项 - 即使在那里我也很不确定 SQL 服务器上的通知订阅是否真的被清除了 - 或者只是等待超时。

这一切都提出了一个问题,如果使用 SqlDependency 进行一些缓存是正确的方法,或者是否有其他好的和简单的做法来实现这一点?

0 投票
4 回答
7651 浏览

c# - 使用 SqlDependency 会导致不断更新

我从这个 MSDN 页面中提取了一个示例,并且几乎一字不差地使用了它。运行时,代码可以正确编译,但changeCount无论返回的数据是否确实发生了变化,都会无休止地递增。当实际发生变化时dataGridView1,正确地反映了变化。SqlDependency即使显然没有任何变化,为什么我的似乎在循环中触发?

这是来源:

编辑:值得注意的是,我要运行它的数据库当前没有启用代理服务,因此为了测试我的代码,我备份了我的目标数据库并用新名称恢复它,然后运行ALTER DATABASE my_db_name SET ENABLE_BROKER它。我的所有测试都在这个备用数据库上进行,这意味着我是它的唯一用户。

0 投票
1 回答
128 浏览

asp.net - ASP.NET 在 sql 中对报告进行排队,然后在用户可用时更新用户的最佳方式

我想允许网站上的用户对报告进行排队(在 sql 表中输入请求)。该队列将由 Windows 应用程序处理,该应用程序将从 sql server 读取队列、运行报告并更新记录中的 reportcomplete 字段。我需要能够发布一条类似于“生成报告”的消息,然后在报告可用时提醒用户。我玩弄了 SQLDependency,我可以触发 onchange 事件,但我当然无法回到浏览器中已经加载的页面。关于如何实现这一点几乎没有想法,我认为 SQLDependency 可能是错误的途径。有任何想法吗?

0 投票
1 回答
339 浏览

.net - 如何将 Windows 服务中的事件传播到它所托管的 WCF 服务,以便 WCF 服务向客户端发出回调?

这是我想做的事情:

  1. 拥有一个托管 WCF 服务的 Windows 服务。此服务还将通过 SQLDependency 从 SQL Server 获取通知。
  2. 当 SQL Server 通知 Windows 服务发生了某些变化时,我希望它通过它托管的 WCF 服务向所有客户端发起回调。

这是我到目前为止所拥有的:

  1. 具有回调等的 WCF 服务。它可以工作并且客户端会收到回调(但到目前为止,只有客户端先发送消息!)。
  2. 托管 WCF 服务并获取 SQLDependency 通知的 Windows 服务

这是我摔倒在我脸上的地方:

  1. 如何让 Windows 服务通知 WCF 服务它应该将消息发送给客户端?
0 投票
2 回答
1589 浏览

php - PHP & MySQL:检查表的数据是否在没有轮询的情况下发生了变化?

有没有一种方法可以测试 MySQL 表的数据是否发生变化,而无需连接或查询。

这听起来可能很奇怪,但在 ASP.NET 中,您可以设置 SqlDependencies,它们是在数据更改时发生的一种事件(因此您不必轮询数据库)。