【问题标题】:Trigger XMPP message from SQL Server trigger or ON INSERT从 SQL Server 触发器或 ON INSERT 触发 XMPP 消息
【发布时间】:2017-01-17 18:06:29
【问题描述】:

当一行被插入到我们的 SQL Server 数据库中的特定表中时,我需要能够发送 XMPP 消息(并且如果 XMPP 服务器或代码不可用/失败/等,它不会使插入失败)。

这是否可能在某些情况下不会导致插入失败?

【问题讨论】:

  • PS - 我很乐意使用 SIP 或 Skype 或在 IOS/Android 手机/平板电脑上运行的任何其他消息传递协议/客户端。

标签: sql-server tsql triggers insert xmpp


【解决方案1】:

为避免潜在地阻塞您的数据库应用程序,我建议直接从触发器发送任何外部消息。毕竟,触发器在触发它的 SQL 语句的上下文中执行,如果触发器被延迟,那么您的语句将不得不等到触发器完成(或已超时) )。

相反,我会这样做:

  • 在“命令”表中插入一行,其中包含足够的信息以便以后发送 XMPP 消息 - 这可以在触发器中完成

  • 有一个单独的代码,例如一个计划的 SQL Server 作业,它每 x 分钟或几小时检查一次“命令”表,或者根据您的需要频繁(或不经常)检查 - 如果他们尝试发送这些消息并处理该作业,则该作业与您的应用程序分开且独立于您的应用程序运行任何潜在的错误情况 - 当您的主应用程序愉快地工作时,不会受到任何延迟、超时等的困扰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多