SQL Server 通知 - 我的 OnChange 不触发

2024-02-20

我想利用 SQL Server 通知来捕获 winforms 应用程序中数据库中的插入事件。我正在尝试使用 SQLDependency 对象。 MSDN 文章使这看起来非常简单。所以我创建了一个小示例应用程序来尝试一下。该事件似乎仅在我第一次进入应用程序时才会触发(出现消息框)。将数据插入表中不会引发看似的 OnChange 事件。有人能告诉我我错过了什么吗?谢谢!

 public Main()
    {
        InitializeComponent();
        var check = EnoughPermission();
        SqlDependency.Stop(constr);
        SqlDependency.Start(constr);
        if(connection == null)
        {
            connection = new SqlConnection(constr);
        }
        if(command == null)
        {
            command = new SqlCommand("Select ID, ChatMessage FROM dbo.Chat",connection);
        }
        connection.Open();
        command.Notification = null;
        SqlDependency dependency = new SqlDependency(command);
        dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
        command.ExecuteReader();
    }





    private void dependency_OnChange(object sender, SqlNotificationEventArgs e)
    {
        MessageBox.Show("Change!");
    }

当我致力于实现查询通知时,我遇到了确切的问题。我检查了所有配置、代码片段,甚至 TCP 设置,但没有任何帮助。然后,我想出了在数据库上运行以下查询,它解决了我的问题。也许你可以尝试一下。

ALTER AUTHORIZATION ON DATABASE::[Your DB] TO sa;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 通知 - 我的 OnChange 不触发 的相关文章

随机推荐

  • RabbitMQ 中的并发

    经过一周的编码和搜索论坛后 似乎是时候问 我有一个 C 应用程序 它使用 EventingBasicConsumer 处理 RabbitMQ 发送的消息 我想同时处理多个消息 因此我在同一连接上实例化了几个通道 本例中为 8 个 每个通道都
  • 如何使用 jquery/ajax 将数据发送到 json 文件

    我发现了无数关于如何使用 jQuery 和 ajax 从 json 文件检索数据的教程 但没有关于如何将数据 POST 到 json 文件 如果有人可以向我展示或向我发送一个关于如何执行此操作的小脚本 那就太好了 我到处搜索如何做到这一点
  • ClassNotFoundException:如何查找Java中的依赖冲突

    在使用 Atmosphere servlet 的测试 WebSocket 应用程序中 我收到以下异常 SEVERE Servlet service for servlet AtmosphereServlet threw exception
  • SQL Server + 动态查询“无效的列名”

    我正在尝试执行以下动态查询 但出现错误 无效的列名 cat DECLARE SQLDelQuery AS NVARCHAR 1200 DECLARE MemberNames varchar 50 SET MemberNames cat SE
  • subprocess.check_output() 似乎不存在(Python 2.6.5)

    我一直在阅读有关 subprocess 模块的 Python 文档 请参阅here http docs python org library subprocess html subprocess replacements 它谈论了一个sub
  • “用瓷砖填充图案”难题

    我在为基于图块的游戏编写随机关卡生成器时遇到了一个有趣的问题 我已经为其实现了一个强力求解器 但它的速度呈指数级缓慢 并且绝对不适合我的用例 我不一定要寻找完美的解决方案 我会对性能良好的 足够好 的解决方案感到满意 问题陈述 假设您拥有以
  • SIFT 描述符的计算复杂度?

    The SIFT描述符 http www aishack in tutorials sift scale invariant feature transform introduction 是 David Lowe 提出的局部描述符 该描述符
  • AFNetworking 2.0 请求自定义标头

    我试图避免在这里问这样的新问题 但我是一名正在学习 IOS 的 Android 开发人员 我一生都无法弄清楚如何使用 AFNetworking 2 0 在我的帖子请求中添加一个简单的标头 下面是到目前为止我的代码 如果我想发出不需要标头的请
  • 在 Firebase Flutter 上更新数组内的项目

    我制作了一个聊天应用程序 我希望用户能够将聊天室标记为收藏夹或将聊天室静音 我的数据库的结构如下图所示 我想要的是当用户尝试将聊天室静音或将其标记为收藏夹时 我只更新与 chatroomId 匹配的项目 但经过大量搜索后 我发现 Fireb
  • IllegalArgumentException:无法从当前目标找到导航操作/目标包名称/action_xxx

    当我尝试在视图页面中从一个片段导航到另一个片段时 我遇到了 Android 导航架构组件的问题 出现以下错误 java lang IllegalArgumentException Navigation action destination
  • 超时过期,优化查询

    我有这个查询来获取两个日期之间账单的所有详细信息 SELECT DT FROM DetailTable DT BillTable BT PackageTable PT WHERE PT Id BT IdPackage AND DT IdBi
  • Angular2:发出请求时如何从客户端向服务器发送数据

    客户端有一个表单和一个按钮 我想将用户在表单中输入的数据发送到服务器 其中有将数据保存到数据库以及从数据库到客户端的请求处理程序 我该怎么做我对逻辑感到困惑 我认为使用了主体解析器 还有标头的作用是什么 在这种情况下请求选项 我找到了该解决
  • 在 CQL Cassandra 中查找非主键列的不同值

    我使用以下代码来创建表 CREATE KEYSPACE mykeyspace WITH REPLICATION class SimpleStrategy replication factor 1 USE mykeyspace CREATE
  • UISearchBar 代替 UINavigationController UINavigationBar

    我有一个UITableViewController with a UISearchDisplayController and UISearchBar 包含在UINavigationController作为根元素 是否可以这样配置UISear
  • 如何修复 microk8s 上的“无法拉取镜像”

    我正在尝试遵循 docker 入门教程 但是当您必须使用 kubernetes 时 我会陷入困境 我正在使用 microk8s 创建集群 我的 Dockerfile FROM node 6 11 5WORKDIR usr src app C
  • 如何使用 Kibana 3 创建价值随时间变化的图表?

    我使用 Logstash 来存储包含车辆随时间变化的速度的日志文件 在 Kibana 3 中 如何生成一个显示随时间变化的值的面板 即 x 轴显示时间 y 轴显示相关值 例如车辆速度 我发现的大多数面板都会计算给定时间范围内事件的发生次数并
  • Tomcat 7 - 保护 webapps 文件夹下的文件夹

    我的网络应用程序是 myweb 在此网络应用程序中 我的代码引用 files 文件夹下的 123 pdf 例如 http localhost 8080 files 123 pdf webapps myweb files 123 pdf 当我
  • NodeJS:如何像C#一样生成Rfc2898DeriveBytes?

    我正在尝试使用 NodeJS 加密库和 C Rfc2898DeriveBytes 生成相同的密码哈希 使用 C 生成的 salt 时 NodeJs 实现不会生成相同的密钥 我究竟做错了什么 在 C 中 public static strin
  • symfony2 主义 onetoone 完整示例

    我尝试从示例中建立onetoone关系 http docs doctrine project org en latest tutorials composite primary keys html use case 2 simple dri
  • SQL Server 通知 - 我的 OnChange 不触发

    我想利用 SQL Server 通知来捕获 winforms 应用程序中数据库中的插入事件 我正在尝试使用 SQLDependency 对象 MSDN 文章使这看起来非常简单 所以我创建了一个小示例应用程序来尝试一下 该事件似乎仅在我第一次