Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Środowisko SSIS Integration Runtime w usłudze Azure Data Factory
Pracując programowo z pakietami Integration Services, możesz chcieć sprawdzić, czy istnieje pojedynczy pakiet lub folder, albo wypisać zapisane pakiety, które są dostępne do ładowania i uruchamiania. Klasa ApplicationMicrosoft.SqlServer.Dts.Runtime przestrzeni nazw oferuje różnorodne metody spełniania tych wymagań.
Określenie, czy istnieje pakiet lub folder
Aby programowo określić, czy zapisany pakiet istnieje, przed próbą załadowania i uruchomienia wywołaj jedną z następujących metod:
| Lokalizacja przechowywania | Metoda wywoływania |
|---|---|
| Magazyn pakietów SSIS | ExistsOnDtsServer |
| SQL Server | ExistsOnSqlServer |
Aby programowo sprawdzić, czy folder istnieje przed próbą wypisania pakietów w nim przechowywanych, wywołaj jedną z następujących metod:
| Lokalizacja przechowywania | Metoda wywoływania |
|---|---|
| Magazyn pakietów SSIS | FolderExistsOnDtsServer |
| SQL Server | FolderExistsOnSqlServer |
Wyliczanie dostępnych pakietów
Aby uzyskać listę zapisanych pakietów programowo, wywołaj jedną z następujących metod:
| Lokalizacja przechowywania | Metoda wywoływania |
|---|---|
| Magazyn pakietów SSIS | GetDtsServerPackageInfos |
| SQL Server | GetPackageInfos |
Poniższe przykłady to aplikacje konsolowe, które demonstrują zastosowanie tych metod.
Przykład (SSIS Package Store)
Użyj GetDtsServerPackageInfos metody do wypisywania pakietów przechowywanych w SSIS Package Store. Domyślne miejsca przechowywania przechowywane przez magazyn pakietów SSIS to System plików i baza danych MSDB. Możesz tworzyć dodatkowe logiczne foldery w tych lokalizacjach.
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();
}
}
}
Przykład (SQL Server)
Użyj GetPackageInfos metody do wypisania pakietów Integration Services przechowywanych w instancji 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();
}
}
}