(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Programmgesteuertes Auflisten verfügbarer Pakete

Wenn Sie programmgesteuert mit Integration Services-Paketen arbeiten, möchten Sie u. U. bestimmen, ob ein einzelnes Paket oder ein einzelner Ordner vorhanden ist, oder die gespeicherten Pakete auflisten, die zum Laden und Ausführen verfügbar sind. Die Application-Klasse des Microsoft.SqlServer.Dts.Runtime-Namespace stellt eine Reihe von Methoden bereit, um diese Anforderungen zu erfüllen.

Informationen zum programmgesteuerten Laden und Ausführen von Paketen finden Sie unter Programmgesteuertes Laden und Ausführen eines lokalen Pakets und Programmgesteuertes Laden und Ausführen eines Remotepakets. Informationen zur programmgesteuerten Verwaltung von Paketen und Ordnern finden Sie unter Programmgesteuerte Verwaltung von Paketen und Ordnern.

Alle in diesem Thema erläuterten Methoden erfordern einen Verweis auf die Microsoft.SqlServer.ManagedDTS-Assembly. Nachdem Sie den Verweis in einem neuen Projekt hinzugefügt haben, importieren Sie den Microsoft.SqlServer.Dts.Runtime-Namespace mit einer using- oder Imports-Anweisung.

Wichtiger Hinweis Wichtig

Die Methoden der Application-Klasse zum Arbeiten mit dem SSIS-Paketspeicher unterstützen nur ".", localhost oder den Namen des lokalen Servers. Sie können "(local)" nicht verwenden.

Um programmgesteuert zu ermitteln, ob ein gespeichertes Paket vorhanden ist, rufen Sie eine der folgenden Methoden auf, bevor Sie versuchen, es zu laden und auszuführen:

Speicherort

Aufzurufende Methode

SSIS-Paketspeicher

ExistsOnDtsServer

SQL Server

ExistsOnSqlServer

Um programmgesteuert zu ermitteln, ob ein Ordner vorhanden ist, rufen Sie eine der folgenden Methoden auf, bevor Sie versuchen, die darin gespeicherten Pakete aufzulisten:

Speicherort

Aufzurufende Methode

SSIS-Paketspeicher

FolderExistsOnDtsServer

SQL Server

FolderExistsOnSqlServer

Zurück zum Anfang

Rufen Sie eine der folgenden Methoden auf, um eine Liste von gespeicherten Paketen programmgesteuert abzurufen:

Speicherort

Aufzurufende Methode

SSIS-Paketspeicher

GetDtsServerPackageInfos

SQL Server

GetPackageInfos

Die folgenden Beispiele sind Konsolenanwendungen, die die Verwendung dieser Methoden veranschaulichen.

Beispiel (SSIS-Paketspeicher)

Verwenden Sie die GetDtsServerPackageInfos-Methode, um im SSIS-Paketspeicher gespeicherte Pakete aufzulisten. Die Standardspeicherorte, die vom SSIS-Paketspeicher verwaltet werden, sind "Dateisystem" und "MSDB". Sie können zusätzliche logische Ordner innerhalb dieser Speicherorte erstellen.

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();

    }

  }

}

Zurück zum Anfang

Beispiel (SQL Server)

Verwenden Sie die GetPackageInfos-Methode, um Integration Services-Pakete aufzulisten, die in einer Instanz von SQL Server gespeichert sind.

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();

    }
  }
}

Zurück zum Anfang

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf MSDN auf der Integration Services-Seite:


Abonnieren Sie die auf der Seite verfügbaren RSS-Feeds, um automatische Benachrichtigungen zu diesen Updates zu erhalten.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft