Udostępnij za pośrednictwem


Wyliczanie programowo dostępne pakiety

Podczas pracy programowo z Integration Services pakiety, można określić, czy istnieje pojedynczy pakiet lub folder programu lub wyliczyć zapisanych pakietów, które są dostępne do ładowania i wykonywania. The Application class of the Microsoft.SqlServer.Dts.Runtime namespace provides a variety of methods to satisfy these requirements.

W tym temacie.

  • Określanie, czy istnieje pakiet lub folderu

  • Wyliczanie pakietów dostępne

    • Przykład (Magazyn pakiet SSIS)

    • Przykład (SQL Server)

Aby uzyskać informacje dotyczące ładowania i uruchamiania pakietów programowo zobacz Ładowanie i programowo uruchomiony pakiet lokalny i Loading and Running a Remote Package Programmatically. Aby uzyskać informacje o zarządzaniu programowo pakietów i folderów Zobacz Programowe zarządzanie opakowania i folderów.

Wszystkie metody omówione w tym temacie wymaga odwołania do Microsoft.SqlServer.ManagedDTS wirtualny plik dziennika. Po dodaniu odwołania w nowym projekcie, należy zaimportować Microsoft.SqlServer.Dts.Runtime obszar nazw z using lub Imports Instrukcja.

Important noteImportant Note:

Metody ApplicationKlasa do pracy z magazynu pakiet SSIS obsługuje tylko ".", localhost lub serwer nazw dla serwera lokalnego. Nie można użyć "(local)".

Określanie, czy pakiet lub folder już istnieje

Aby programowo określić, czy pakiet zapisany istnieje, zadzwoń jedną z następujących metod, przed przystąpieniem do ładowania i uruchamiania go:

Lokalizacja przechowywania

Metoda służąca do wywołania

Magazyn pakiet SSIS

ExistsOnDtsServer(String, String)

SQL Server

ExistsOnSqlServer(String, String, String, String)

Aby programowo określić, czy folder istnieje przed przystąpieniem do listy pakiety, przechowywanych w nim, należy wywołać jedną z następujących metod:

Lokalizacja przechowywania

Metoda służąca do wywołania

Magazyn pakiet SSIS

FolderExistsOnDtsServer(String, String)

SQL Server

FolderExistsOnSqlServer(String, String, String, String)

Powrót do początku

Wyliczanie pakietów dostępne

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

Lokalizacja przechowywania

Metoda służąca do wywołania

Magazyn pakiet SSIS

GetDtsServerPackageInfos(String, String)

SQL Server

GetPackageInfos(String, String, String, String)

Następujące przykłady są aplikacji konsoli, które wskazują stosowania tych metod.

Przykład (Magazyn pakiet SSIS)

Użycie GetDtsServerPackageInfos(String, String) Metoda do listy pakietów przechowywane w magazynie pakiet SSIS. Domyślne lokalizacje przechowywania są zarządzane przez Magazyn pakiet SSIS to system plików i MSDB.Można utworzyć dodatkowe foldery logiczne 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życie GetPackageInfos(String, String, String, String) metoda do listy Integration Services pakiety, które są przechowywane w wystąpieniu 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

Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.

See Also

Other Resources