3

こんにちは、お時間をいただきありがとうございます。

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 ステートメントは外部コマンドを実行したくないようです。どんな提案でも大歓迎です。

ありがとうございました

4

1 に答える 1

4

その投稿の回答を補足します。SQLから別のアプリを呼び出すことは決してありません。その理由はいくつかあります。誰かがアプリを移動する可能性があり、トリガーを更新する必要があるという事実までのセキュリティであるため、トリガーとアプリ間の直接通信はユーザーが責任を負うことになります。

私がすることは、トリガーをテーブルに書き込み、そのテーブルを監視 (行の読み取りと削除) してからアプリケーションを呼び出すプロセスを作成することです。別のプレイヤーがいることは知っていますが、より安全で維持しやすいです。

于 2012-10-19T13:28:29.177 に答える