如何使用 C# 找出 SQL 服务器中安装的 SSIS?

How to find out that SSIS installed in SQL Server using C#?

我正在使用 C# 编写 Windows 表单应用程序。我用

ssisServer = new IntegrationServices(ssisConnection); 

到 运行 并使用 SSIS 包,但在 运行 安装包之前,我想确保用户 运行 在正确的系统中使用应用程序 SQL 服务器在其 SQL 服务器上安装了 SSIS。

如何在 C# 中查看服务器上是否安装了 SSIS?

检查 SQL Server Integration Services 服务是否在您连接的服务器上 运行。

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

服务的名称将取决于您要连接的 SQL 服务器的版本。如果服务器是 SQL Server 2019 那么它将是 MsDtsServer150 例如。您可以简单地检查该服务是否存在并且是 运行.

将 System.ServiceProcess 添加到您的项目引用(在 .NET 选项卡上)。

using System.ServiceProcess;

ServiceController sc = new ServiceController("MsDtsServer150");

switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        return "Running";
    case ServiceControllerStatus.Stopped:
        return "Stopped";
    case ServiceControllerStatus.Paused:
        return "Paused";
    case ServiceControllerStatus.StopPending:
        return "Stopping";
    case ServiceControllerStatus.StartPending:
        return "Starting";
    default:
        return "Status Changing";
}