Program aracılığıyla kullanılabilir paketleri numaralandırılıyor

Programlı çalışmak gibi Integration Services paketleri, isteyebilirsiniz bir tek tek paket veya klasör var olup olmadığını belirlemek veya yüklenebilecek kaydedilmiş paketlerini numaralandırır ve yürütmek.The Application class of the Microsoft.SqlServer.Dts.Runtime namespace provides a variety of methods to satisfy these requirements.

Bu konudaki

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

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

    • Örnek (SSIS paketi deposu)

    • Örnek (sql Server)

Yükleme ve paketleri program aracılığıyla çalışan hakkında daha fazla bilgi için bkz: SSIS paketi yerel bilgisayarda program aracılığıyla çalışan ve SSIS paketi program aracılığıyla bir uzak bilgisayarda çalışan.Program aracılığıyla paketleri ve klasörleri yönetme hakkında daha fazla bilgi için bkz: Program aracılığıyla paketleri ve klasörleri yönetme.

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

Önemli notÖnemli

Yöntemleri Application sınıfı yalnızca SSIS paketi deposu desteği ile çalışmak için ".", localhost, veya sunucu adı için yerel sunucu"(Yerel)" kullanamazsınız.

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

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

Depolama konumu

Çağrı yöntemi

SSIS paketi deposu

[ M:Microsoft.SqlServer.Dts.Runtime.Application.ExistsOnDtsServer(System.String,System.String) ]

SQL Server

[ M:Microsoft.SqlServer.Dts.Runtime.Application.ExistsOnSqlServer(System.String,System.String,System.String,System.String) ]

Program aracılığıyla bir klasör içinde depolanan paketleri listelemek çalışmadan önce var olup olmadığını belirlemek için aşağıdaki yöntemlerden birini arayın:

Depolama konumu

Çağrı yöntemi

SSIS paketi deposu

[ M:Microsoft.SqlServer.Dts.Runtime.Application.FolderExistsOnDtsServer(System.String,System.String) ]

SQL Server

[ M:Microsoft.SqlServer.Dts.Runtime.Application.FolderExistsOnSqlServer(System.String,System.String,System.String,System.String) ]

Başa dön

Kullanılabilir paketleri numaralandırılıyor

Programlı olarak kaydedilmiş paketlerin listesini almak için aşağıdaki yöntemlerden birini arayın:

Depolama konumu

Çağrı yöntemi

SSIS paketi deposu

[ M:Microsoft.SqlServer.Dts.Runtime.Application.GetDtsServerPackageInfos(System.String,System.String) ]

SQL Server

[ M:Microsoft.SqlServer.Dts.Runtime.Application.GetPackageInfos(System.String,System.String,System.String,System.String) ]

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

Örnek (SSIS paketi deposu)

Use GetDtsServerPackageInfos yöntem depolanan paketleri listelemek içinSSIS paketi deposu. SSIS paketi deposu tarafından yönetilen varsayılan depolama konumu, dosya sistemi ve msdb verilebilir.Bu konumları içinde 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 yöntem listesine Integration Services saklanan paketler bir örnek , 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 simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.

Ayrıca bkz.

Kavramlar