Kullanılabilir Paketleri Program Aracılığıyla Numaralandırma

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Entegrasyon Hizmetleri paketleriyle programlı olarak çalışırken, bireysel bir paket veya klasörün var olup olmadığını belirlemek veya yüklemek ve çalıştırmak için mevcut olan kaydedilmiş paketleri saymak isteyebilirsiniz. İsim alanı sınıfıMicrosoft.SqlServer.Dts.Runtime, Application bu gereksinimleri karşılamak için çeşitli yöntemler sunar.

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

Kaydedilen bir paketin var olup olmadığını programatik olarak belirlemek için, yüklemeye ve çalıştırmaya çalışmadan önce aşağıdaki yöntemlerden birini çağırın:

Depolama Konumu Çağırma Yöntemi
SSIS Paket Mağazası ExistsOnDtsServer
SQL Server ExistsOnSqlServer

Bir klasörün içinde depolanan paketleri listelemeye çalışmadan önce programatik olarak var olup olmadığını belirlemek için aşağıdaki yöntemlerden birini çağırın:

Depolama Konumu Çağırma Yöntemi
SSIS Paket Mağazası FolderExistsOnDtsServer
SQL Server FolderExistsOnSqlServer

Başa dön

Mevcut Paketlerin Sayılması

Kayıtlı paketlerin listesini programatik olarak elde etmek için aşağıdaki yöntemlerden birini çağırın:

Depolama Konumu Çağırma Yöntemi
SSIS Paket Mağazası GetDtsServerPackageInfos
SQL Server GetPackageInfos

Aşağıdaki örnekler, bu yöntemlerin kullanımını gösteren konsol uygulamalarıdır.

Örnek (SSIS Paket Mağazası)

SSIS Paket Deposu'nda depolanan paketleri listelemek için bu GetDtsServerPackageInfos yöntemi kullanın. SSIS Paket deposu tarafından yönetilen varsayılan depolama konumları Dosya Sistemi ve MSDB'dir. Bu konumlar içinde ek mantıksal 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)

Bu yöntemi, SQL Server'ın bir örneğinde saklanan Entegrasyon Hizmetleri paketlerini listelemek için kullanınGetPackageInfos.

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