Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
SSIS Integration Runtime v rámci Azure Data Factory
Při práci s balíčky Integration Services programově můžete chtít zjistit, zda existuje jednotlivý balíček nebo složka, nebo vyjmenovat uložené balíčky, které jsou k dispozici k načtení a vykonání. Třída ApplicationMicrosoft.SqlServer.Dts.Runtime jmenného prostoru poskytuje různé metody, jak tyto požadavky splnit.
Určení, zda existuje balíček nebo složka
Pro programové určení, zda uložený balíček existuje, zavolejte jednu z následujících metod před pokusem o načtení a spustení:
| Umístění úložiště | Metoda volání |
|---|---|
| SSIS Package Store | ExistsOnDtsServer |
| SQL Server | ExistsOnSqlServer |
Pro programové určení, zda složka existuje, než se pokusíte vyjmenovat balíčky uložené v ní, zavolejte jednu z následujících metod:
| Umístění úložiště | Metoda volání |
|---|---|
| SSIS Package Store | FolderExistsOnDtsServer |
| SQL Server | FolderExistsOnSqlServer |
Enumerace dostupných balíčků
Pro programové získání seznamu uložených balíčků zavolejte jednu z následujících metod:
| Umístění úložiště | Metoda volání |
|---|---|
| SSIS Package Store | GetDtsServerPackageInfos |
| SQL Server | GetPackageInfos |
Následující ukázky jsou konzolové aplikace, které demonstrují použití těchto metod.
Příklad (SSIS Package Store)
Použijte tuto metodu GetDtsServerPackageInfos k vypisu balíčků uložených v SSIS Package Store. Výchozí úložiště, která spravuje SSIS Package Store, jsou File System a MSDB. V těchto lokalitách můžete vytvořit další logické složky.
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();
}
}
}
Příklad (SQL Server)
Použijte tuto metodu GetPackageInfos k vypisu balíčků integračních služeb, které jsou uloženy v instanci 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();
}
}
}