3

您好,感谢您的宝贵时间,

我一直在网上到处搜索一个例子,一个 SQL 触发器将运行一个外部应用程序,但我没有运气。我所看到的只是 EXEC 将执行一个 SQL 过程。

我需要这个的原因是,我有一个包含许多表的 SQL Server 2010,当某些表上发生更新或插入时,我需要我的 Talend 作业来运行和更新 Salesforce 表。

目前,Talend 作业正在通过 A 任务调度程序运行,但公司希望立即转移信息。

目前这是我的代码

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 语句似乎不想执行外部命令。任何建议将不胜感激。

谢谢

4

1 回答 1

4

补充那个帖子的答案。我永远不会从 sql 调用另一个应用程序。有几个原因,因为安全,直到有人可能移动应用程序并且您需要更新触发器,这意味着您负责触发器和应用程序之间的直接通信。

我要做的是让您的触发器写入一个表,然后有一个进程来监视该表(读取和删除行),然后调用应用程序。我知道您还有其他播放器,但更安全且更易于维护。

于 2012-10-19T13:28:29.177 回答