Kullanılabilir paketleri programsal olarak numaralandırılıyor

Program aracılığıyla ile çalışırken Integration Services paketleri, tek bir paket ya da klasörün var olup olmadığını belirlemek için veya kaydedilmiş yüklemek ve çalıştırmak kullanılabilir olan paketleri numaralandırılamadı isteyebilirsiniz. The Application class of the Microsoft.SqlServer.Dts.Runtime namespace provides a variety of methods to satisfy these requirements.

Bu konu içinde

  • Bir paket veya klasörün var olup olmadığını belirleme

  • Kullanılabilir paketleri numaralandırılıyor.

    • Örnek (paket saklama SSIS)

    • Örnek (SQL Server)

Yükleme ve paketlerini Program aracılığıyla çalıştırma hakkında daha fazla bilgi için bkz: Yükleme ve yerel paketi programla çalıştırma ve Yükleme ve uzak paket programla çalıştırma. Paketleri ve klasörleri programsal olarak yönetme hakkında daha fazla bilgi için bkz: Paketleri ve klasörler'i programsal olarak yönetme.

Bu konuda ele alınan tüm yöntemleri için başvuru gerektirir Microsoft.SqlServer.ManagedDTS derleme. Yeni bir proje başvurusu ekledikten sonra alma Microsoft.SqlServer.Dts.Runtime ad alanı ile bir using veya Imports deyim.

Important noteImportant Note:

Yöntemlerini Applicationçalışma ile SSIS paket depo sınıfı desteği yalnızca ".", localhost veya sunucu adı için yerel sunucu. "(Yerel)" kullanamazsınız.

Bir klasörü veya paket var olup olmadığını belirleme

Program aracılığıyla, kaydedilmiş bir paket olup olmadığını belirlemek için yüklemek ve çalıştırmak denemeden önce aşağıdaki yöntemlerden birini arayın:

Depolama konumu

Aranacak yöntem

SSIS paket depola

ExistsOnDtsServer(String, String)

SQL Server

ExistsOnSqlServer(String, String, String, String)

Program aracılığıyla bir klasör içinde saklanan paketler liste denemeden önce var olup olmadığını belirlemek için aşağıdaki yöntemlerden birini arayın:

Depolama konumu

Aranacak yöntem

SSIS paket depola

FolderExistsOnDtsServer(String, String)

SQL Server

FolderExistsOnSqlServer(String, String, String, String)

Başa dön

Kullanılabilir paketleri numaralandırılıyor.

Programsal olarak kaydedilmiş olan paketlerin listesini elde etmek için , aşağıdaki yöntemlerden birini arayın:

Depolama konumu

Aranacak yöntem

SSIS paket depola

GetDtsServerPackageInfos(String, String)

SQL Server

GetPackageInfos(String, String, String, String)

Aşağıdaki örneklerde bu yöntemlerin kullanımını gösteren konsol uygulamalardır.

Örnek (paket saklama SSIS)

Use GetDtsServerPackageInfos(String, String) yöntem listesi paketler SSIS paket deposunda saklanır. SSIS paket Depolama tarafından yönetilen depolama konumları varsayılan dosya sistemi ve MSDB ' dir.Bu konumları mantıksal ek klasörler oluşturabilirsiniz.

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

    }

  }

}

Başa dön

Örnek (SQL Server)

Use GetPackageInfos(String, String, String, String) Listeye bir yöntem Integration Services örnek saklanan paketler 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();

    }
  }
}

Başa dön

Integration Services icon (small) Tümleştirme Hizmetleri ile güncel kalın

Karşıdan yüklemeler, makaleleri, örnekler ve en son Microsoft video yanı sıra, seçili topluluğun çözümleri için ziyaret Integration Services sayfa MSDN veya TechNet:

Bu güncelleştirmelerin otomatik bildirim için kullanılabilir RSS akışlarına abone olmak sayfa.

See Also

Other Resources