Отключите задачи SSIS программно в пользовательском приложении c # - PullRequest
0 голосов
/ 12 октября 2018

Я создаю приложение Windows Forms, которое выполняет выбранные пакеты, и все пакеты отправляют письма.Я хотел бы добавить опцию, позволяющую пользователю отключить задачу отправки почты для выбранных пакетов.

Я использую службы интеграции vs 2015 для создания пакетов.

Код для выполнения пакетов:

        string pkgLocation = @" C:\temp\Testing\"+ PackageName + ".dtsx";
        Package Package = new Package();
        Microsoft.SqlServer.Dts.Runtime.Application app;           
        DTSExecResult res;


        Cursor.Current = Cursors.WaitCursor;

        app = new Microsoft.SqlServer.Dts.Runtime.Application();

        PackageEvents packageEvents = new PackageEvents();
        Package.EnableConfigurations = true;
        Package = app.LoadPackage(pkgLocation, packageEvents);

        res = Package.Execute();
        Cursor.Current = Cursors.Default;

        if (res == DTSExecResult.Success)
        {
           //code
        }
        else if (res == DTSExecResult.Failure)
        {
           //code
        }

Можно ли отключить задачу из приложения?

1 Ответ

0 голосов
/ 07 ноября 2018

Я нашел другое решение в сети.Это очень просто.Я прошел через все исполняемые файлы, которые есть в пакете, и, если я ищу задачу, установите для свойства disable значение false.Вот код ниже.

for (int i = 0; i < Package.Executables.Count; i++)
    {
     if ((TaskHost)Package.Executables[i] == (TaskHost)Package.Executables["Send Mail Task"])
         {
            var task = (TaskHost)Package.Executables["Send Mail Task"];
            task.Properties["Disable"].SetValue(task, true);
            break;
         }
     }

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...