Bagikan melalui


Enumerasi Paket yang Tersedia Secara Terprogram

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Saat Anda bekerja secara terprogram dengan paket Integration Services, Anda mungkin ingin menentukan apakah paket atau folder individual ada, atau untuk menghitung paket tersimpan yang tersedia untuk dimuat dan dijalankan. Kelas Application Microsoft.SqlServer.Dts.Runtime namespace layanan menyediakan berbagai metode untuk memenuhi persyaratan ini.

Menentukan Apakah Ada Paket atau Folder

Untuk menentukan secara terprogram apakah ada paket yang disimpan, panggil salah satu metode berikut sebelum mencoba memuat dan menjalankannya:

Lokasi Penyimpanan Metode untuk Memanggil
Penyimpanan Paket SSIS ExistsOnDtsServer
SQL Server ExistsOnSqlServer

Untuk menentukan secara terprogram apakah folder ada sebelum mencoba mencantumkan paket yang disimpan di dalamnya, panggil salah satu metode berikut:

Lokasi Penyimpanan Metode untuk Memanggil
Penyimpanan Paket SSIS FolderExistsOnDtsServer
SQL Server FolderExistsOnSqlServer

Kembali ke atas

Menghitung Paket yang Tersedia

Untuk mendapatkan daftar paket yang disimpan secara terprogram, panggil salah satu metode berikut:

Lokasi Penyimpanan Metode untuk Memanggil
Penyimpanan Paket SSIS GetDtsServerPackageInfos
SQL Server GetPackageInfos

Sampel berikut adalah aplikasi konsol yang menunjukkan penggunaan metode ini.

Contoh (Penyimpanan Paket SSIS)

GetDtsServerPackageInfos Gunakan metode untuk mencantumkan paket yang disimpan di Penyimpanan Paket SSIS. Lokasi penyimpanan default yang dikelola oleh penyimpanan Paket SSIS adalah Sistem File dan MSDB. Anda dapat membuat folder logis tambahan dalam lokasi ini.

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

Kembali ke atas

Contoh (SQL Server)

GetPackageInfos Gunakan metode untuk mencantumkan paket Layanan Integrasi yang disimpan dalam instans 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();    
    
    }    
  }    
}    

Kembali ke atas

Lihat Juga

Manajemen Paket (Layanan SSIS)