您好,感谢您的时间,
我一直在网上搜索一个例子,一个SQL触发器将运行一个外部应用程序,但我没有运气。我所看到的只是EXEC将执行SQL过程。
我需要这个的原因是,我有一个包含许多表的SQL Server 2010,当某些表发生更新或插入时,我需要运行Talend作业并更新Salesforce表。
目前,Talend作业正在通过任务计划程序运行,但公司希望信息立即移动。
目前这是我的代码
CREATE TRIGGER UP_ACCOUNT ON ARCUS
AFTER INSERT, UPDATE
AS
IF(exists(SELECT IDCUST FROM inserted WHERE IDCUST IS NOT NULL))
BEGIN
EXEC [name_of_application]
END
我仍然需要进行所有检查以确保它不会崩溃,但EXEC语句似乎不想执行外部命令。任何建议将不胜感激。
谢谢
答案 0 :(得分:4)
补充帖子上的答案...我永远不会从sql调用另一个应用程序。有几个原因,因为安全性直到有人可能会移动应用程序并且您需要更新触发器,这意味着您负责触发器和应用程序之间的直接通信。
我要做的是让你的触发器写入表,然后有一个进程监视该表(读取和删除行),然后调用应用程序。我知道你是另一个玩家,但更安全,更容易保持。
答案 1 :(得分:2)
也许job,这就是你所需要的。
答案 2 :(得分:1)
我用SSSB解决了这个问题http://msdn.microsoft.com/en-us/library/bb522893.aspx 它可以帮助您向外部应用程序发送消息,也可以将消息发送到其他数据库。