Sql server 从SQL Server触发器或插入时触发XMPP消息
当一行被插入到SQL Server数据库中的特定表中时,我需要能够发送一条XMPP消息(如果XMPP服务器或代码不可用/失败/etc,请不要使插入失败)Sql server 从SQL Server触发器或插入时触发XMPP消息,sql-server,tsql,triggers,insert,xmpp,Sql Server,Tsql,Triggers,Insert,Xmpp,当一行被插入到SQL Server数据库中的特定表中时,我需要能够发送一条XMPP消息(如果XMPP服务器或代码不可用/失败/etc,请不要使插入失败) 在某些情况下,这可能不会导致插入失败吗?为了避免可能阻塞数据库应用程序,我建议不要直接从触发器发送任何外部消息。毕竟,触发器是在触发它的SQL语句的上下文中执行的,如果触发器被延迟,那么您的语句将不得不等待触发器完成(或超时) 相反,我要做的是: 在“command”表中插入一行,其中包含足够的信息,以便以后发送XMPP消息-这可以在触发器中
在某些情况下,这可能不会导致插入失败吗?为了避免可能阻塞数据库应用程序,我建议不要直接从触发器发送任何外部消息。毕竟,触发器是在触发它的SQL语句的上下文中执行的,如果触发器被延迟,那么您的语句将不得不等待触发器完成(或超时) 相反,我要做的是:
- 在“command”表中插入一行,其中包含足够的信息,以便以后发送XMPP消息-这可以在触发器中完成
- 有一段独立的代码,例如一个计划的SQL Server作业,它每x分钟或小时检查一次“命令”表,或者不管您需要多频繁(或不经常)检查一次,如果应用程序试图发送这些消息,该作业将独立于应用程序单独运行,并处理任何潜在的错误情况——当您的主应用程序愉快地工作时,不受任何延迟、超时等的困扰