Programowe wyliczanie dostępnych pakietów

Dotyczy:SQL Server Środowisko SSIS Integration Runtime w usłudze Azure Data Factory

Pracując programowo z pakietami Integration Services, możesz chcieć sprawdzić, czy istnieje pojedynczy pakiet lub folder, albo wypisać zapisane pakiety, które są dostępne do ładowania i uruchamiania. Klasa ApplicationMicrosoft.SqlServer.Dts.Runtime przestrzeni nazw oferuje różnorodne metody spełniania tych wymagań.

Określenie, czy istnieje pakiet lub folder

Aby programowo określić, czy zapisany pakiet istnieje, przed próbą załadowania i uruchomienia wywołaj jedną z następujących metod:

Lokalizacja przechowywania Metoda wywoływania
Magazyn pakietów SSIS ExistsOnDtsServer
SQL Server ExistsOnSqlServer

Aby programowo sprawdzić, czy folder istnieje przed próbą wypisania pakietów w nim przechowywanych, wywołaj jedną z następujących metod:

Lokalizacja przechowywania Metoda wywoływania
Magazyn pakietów SSIS FolderExistsOnDtsServer
SQL Server FolderExistsOnSqlServer

Powrót do początku

Wyliczanie dostępnych pakietów

Aby uzyskać listę zapisanych pakietów programowo, wywołaj jedną z następujących metod:

Lokalizacja przechowywania Metoda wywoływania
Magazyn pakietów SSIS GetDtsServerPackageInfos
SQL Server GetPackageInfos

Poniższe przykłady to aplikacje konsolowe, które demonstrują zastosowanie tych metod.

Przykład (SSIS Package Store)

Użyj GetDtsServerPackageInfos metody do wypisywania pakietów przechowywanych w SSIS Package Store. Domyślne miejsca przechowywania przechowywane przez magazyn pakietów SSIS to System plików i baza danych MSDB. Możesz tworzyć dodatkowe logiczne foldery w tych lokalizacjach.

Imports Microsoft.SqlServer.Dts.Runtime    
    
Module Module1    
    
  Sub Main()    
    
    Dim sqlFolder As String    
    Dim sqlServer As String    
    
    Dim ssisApplication As Application    
    Dim sqlPackages As PackageInfos    
    Dim sqlPackage As PackageInfo    
    
    sqlServer = "."    
    
    ssisApplication = New Application()    
    
    ' Get packages stored in MSDB.    
    sqlFolder = "MSDB"    
    sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer)    
    If sqlPackages.Count > 0 Then    
      Console.WriteLine("Packages stored in MSDB:")    
      For Each sqlPackage In sqlPackages    
        Console.WriteLine(sqlPackage.Name)    
      Next    
      Console.WriteLine()    
    End If    
    
    ' Get packages stored in the File System.    
    sqlFolder = "File System"    
    sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer)    
    If sqlPackages.Count > 0 Then    
      Console.WriteLine("Packages stored in the File System:")    
      For Each sqlPackage In sqlPackages    
        Console.WriteLine(sqlPackage.Name)    
      Next    
    End If    
    
    Console.Read()    
    
  End Sub    
    
End Module    
using System;    
using Microsoft.SqlServer.Dts.Runtime;    
    
namespace EnumeratePackagesSSIS_CS    
{    
  class Program    
  {    
    static void Main(string[] args)    
    {    
    
      string sqlFolder;    
      string sqlServer;    
    
      Application ssisApplication;    
      PackageInfos sqlPackages;    
    
      sqlServer = ".";    
    
      ssisApplication = new Application();    
    
      // Get packages stored in MSDB.    
      sqlFolder = "MSDB";    
      sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer);    
      if (sqlPackages.Count > 0)    
      {    
        Console.WriteLine("Packages stored in MSDB:");    
        foreach (PackageInfo sqlPackage in sqlPackages)    
        {    
          Console.WriteLine(sqlPackage.Name);    
        }    
        Console.WriteLine();    
      }    
    
      // Get packages stored in the File System.    
      sqlFolder = "File System";    
      sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer);    
      if (sqlPackages.Count > 0)    
      {    
        Console.WriteLine("Packages stored in the File System:");    
        foreach (PackageInfo sqlPackage in sqlPackages)    
        {    
          Console.WriteLine(sqlPackage.Name);    
        }    
      }    
    
      Console.Read();    
    
    }    
    
  }    
    
}    

Powrót do początku

Przykład (SQL Server)

Użyj GetPackageInfos metody do wypisania pakietów Integration Services przechowywanych w instancji SQL Server.

Imports Microsoft.SqlServer.Dts.Runtime    
    
Module Module1    
    
  Sub Main()    
    
    Dim sqlFolder As String    
    Dim sqlServer As String    
    Dim sqlUser As String    
    Dim sqlPassword As String    
    
    Dim ssisApplication As Application    
    Dim sqlPackages As PackageInfos    
    Dim sqlPackage As PackageInfo    
    
    sqlFolder = String.Empty    
    sqlServer = "(local)"    
    sqlUser = String.Empty    
    sqlPassword = String.Empty    
    
    ssisApplication = New Application()    
    
    sqlPackages = ssisApplication.GetPackageInfos(sqlFolder, sqlServer, sqlUser, sqlPassword)    
    
    For Each sqlPackage In sqlPackages    
      Console.WriteLine(sqlPackage.Name)    
    Next    
    
    Console.Read()    
    
  End Sub    
    
End Module    
using System;    
using Microsoft.SqlServer.Dts.Runtime;    
    
namespace EnumeratePackagesSql_CS    
{    
  class Program    
  {    
    static void Main(string[] args)    
    {    
    
      string sqlFolder;    
      string sqlServer;    
      string sqlUser;    
      string sqlPassword;    
    
      Application ssisApplication;    
      PackageInfos sqlPackages;    
    
      sqlFolder = String.Empty;    
      sqlServer = "(local)";    
      sqlUser = String.Empty;    
      sqlPassword = String.Empty;    
    
      ssisApplication = new Application();    
    
      sqlPackages = ssisApplication.GetPackageInfos(sqlFolder, sqlServer, sqlUser, sqlPassword);    
    
      foreach (PackageInfo sqlPackage in sqlPackages)    
      {    
        Console.WriteLine(sqlPackage.Name);    
      }    
    
      Console.Read();    
    
    }    
  }    
}    

Powrót do początku