簡體   English   中英

從 C# 應用程序取消 SSIS 包的執行

[英]Cancel the execution of SSIS Package from a C# application

我有一個 .NET WinForms 應用程序,它使用 Microsoft.SqlServer.Dts.Runtime > DtsContainer.Execute(Connections, Variables, IDTSEvents, IDTSLogging, Object)方法依次執行在包部署模型中創建的幾個 SSIS 包。

有沒有辦法取消包的執行?

可以通過調用 SSIS 內置存儲過程來實現。

它需要知道 SSIS 包execution_id

您可以從應用程序中調用該存儲過程。

一探究竟:

USE SSISDB;
GO

DECLARE @execution_id INT = (
SELECT TOP(1) execution_id
FROM CATALOG.executions as x
WHERE folder_name = 'folder_name'
    AND project_name = 'project_name'
    AND package_name = 'package_name.dtsx'
    AND end_time IS NULL
    AND status IN (2, 5) -- 'Running', 'Pending' and 'Active' executions
ORDER BY execution_id DESC);
 
EXEC [catalog].[stop_operation] @execution_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM