2

我有一个非常令人沮丧的问题。我的 .net 4 应用程序已成功使用该SqlDependency对象一段时间来接收来自 SQL 服务器的 INSERT 或 UPDATE 通知。

然而,它接收通知的数据库刚刚更新(它是第 3 方应用程序的后端,所以我不知道更新需要什么),现在当我重新启动我的SqlDependency应用程序时,它的行为不正常。在StartSQLDependency()方法期间,这一行触发了dependency_OnChange事件:

using (SqlDataAdapter adapter = new SqlDataAdapter(_SqlCommand))
    adapter.Fill(_datatable);   

SqlNotificationEventArgs

e.Info "Query"
e.Source "Statement"
e.Type "Subscribe"

以前我只见过:

e.Info "Update" or "Insert"
e.Source "Data"
e.Type "Change"

任何人都可以建议我在数据库中所做的更改导致这种情况吗?

4

1 回答 1

1

我知道这是旧的,但对于后代......

在尝试研究 SqlDependency 触发器时,我遇到了一个CodeProject,它说带有这些参数的事件表明用于通知的查询不正确(大约在文章的一半)。

Microsoft 有一篇关于受支持的通知语句(适用于 SQL Server 2008)以及如何正确构建它们以避免此错误事件的文章。

于 2013-12-10T13:49:14.143 回答