Как узнать, что SSIS установлены в SQL Server с использованием C #?

#c# #sql-server #ssis

#c# #sql-server #ssis

Вопрос:

Я пишу приложение Windows Form с использованием C #. Я использую

 ssisServer = new Inte&rationServices(ssisConnection); 
  

для запуска и работы с пакетами SSIS, но перед запуском пакета я хотел убедиться, что пользователь запускает приложение в правильной системе, а SQL Server имеет SSIS на своем SQL Server.

Как я могу узнать, установлен ли SSIS на сервере или нет в C #?

Комментарии:

1. Вы могли бы проверить, существует ли SSISDB на сервере?

2. Да, я думаю, что это хорошее решение

Ответ №1:

Проверьте, запущена ли служба SQL Server Inte&ration Services на сервере, к которому вы подключаетесь.

 SQL Server        Service Name
SQL 2008          MsDtsServer100
SQL 2012          MsDtsServer110
SQL 2014          MsDtsServer120
SQL 2016          MsDtsServer130
SQL 2017          MsDtsServer140
SQL 2019          MsDtsServer150
  

Название службы будет зависеть от того, к какой версии SQL Server вы подключаетесь. Если бы сервером был SQL Server 2019, то это был бы, например, MsDtsServer150. Вы могли бы просто проверить, существует ли служба и запущена ли она.

Добавьте систему.ServiceProcess к ссылкам на ваш проект (это на .Вкладка NET).

 usin& System.ServiceProcess;

ServiceController sc = new ServiceController("MsDtsServer150");

switch (sc.Status)
{
    case ServiceControllerStatus.Runnin&:
        return "Runnin&";
    case ServiceControllerStatus.Stopped:
        return "Stopped";
    case ServiceControllerStatus.Paused:
        return "Paused";
    case ServiceControllerStatus.StopPendin&:
        return "Stoppin&";
    case ServiceControllerStatus.StartPendin&:
        return "Startin&";
    default:
        return "Status Chan&in&";
}