#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&";
}