如何使用 C# 找出安装在 SQL Server 中的 SSIS?

Posted

技术标签:

【中文标题】如何使用 C# 找出安装在 SQL Server 中的 SSIS?【英文标题】:How to find out that SSIS installed in SQL Server using C#? 【发布时间】:2020-11-29 02:07:05 【问题描述】:

我正在使用 C# 编写一个 Windows 窗体应用程序。我用

ssisServer = new IntegrationServices(ssisConnection); 

要运行和使用 SSIS 包,但在运行包之前,我想确保用户在正确的系统中运行应用程序,并且 SQL Server 的 SQL Server 上有 SSIS。

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

【问题讨论】:

您可以检查服务器上是否存在SSISDB? 是的,我认为这是很好的解决方案 【参考方案1】:

检查 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 Server 版本。例如,如果服务器是 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";

【讨论】:

以上是关于如何使用 C# 找出安装在 SQL Server 中的 SSIS?的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 应用程序安装 SQL Server Express

如何从 C# 动态运行 SQL Server CE [Windows mobile] 中的 SQL 脚本文件?

每个客户端上的 C# Sql-server

如何找出访问 SQL Server 的用户名和机器名

如何找出哪个存储过程正在使用 SQL Server 中特定表的特定列?

如何使用 C# 在 SQL Server 数据库中创建视图?