Wyliczanie programowo dostępne pakiety
Podczas pracy programowo z Integration Services pakiety, można określić, czy istnieje pojedynczy pakiet lub folder programu lub wyliczyć zapisanych pakietów, które są dostępne do ładowania i wykonywania. The Application class of the Microsoft.SqlServer.Dts.Runtime namespace provides a variety of methods to satisfy these requirements.
W tym temacie.
Określanie, czy istnieje pakiet lub folderu
Wyliczanie pakietów dostępne
Przykład (Magazyn pakiet SSIS)
Przykład (SQL Server)
Aby uzyskać informacje dotyczące ładowania i uruchamiania pakietów programowo zobacz Ładowanie i programowo uruchomiony pakiet lokalny i Loading and Running a Remote Package Programmatically. Aby uzyskać informacje o zarządzaniu programowo pakietów i folderów Zobacz Programowe zarządzanie opakowania i folderów.
Wszystkie metody omówione w tym temacie wymaga odwołania do Microsoft.SqlServer.ManagedDTS wirtualny plik dziennika. Po dodaniu odwołania w nowym projekcie, należy zaimportować Microsoft.SqlServer.Dts.Runtime obszar nazw z using lub Imports Instrukcja.
Important Note: |
---|
Metody ApplicationKlasa do pracy z magazynu pakiet SSIS obsługuje tylko ".", localhost lub serwer nazw dla serwera lokalnego. Nie można użyć "(local)". |
Określanie, czy pakiet lub folder już istnieje
Aby programowo określić, czy pakiet zapisany istnieje, zadzwoń jedną z następujących metod, przed przystąpieniem do ładowania i uruchamiania go:
Lokalizacja przechowywania |
Metoda służąca do wywołania |
---|---|
Magazyn pakiet SSIS |
ExistsOnDtsServer(String, String) |
SQL Server |
ExistsOnSqlServer(String, String, String, String) |
Aby programowo określić, czy folder istnieje przed przystąpieniem do listy pakiety, przechowywanych w nim, należy wywołać jedną z następujących metod:
Lokalizacja przechowywania |
Metoda służąca do wywołania |
---|---|
Magazyn pakiet SSIS |
FolderExistsOnDtsServer(String, String) |
SQL Server |
FolderExistsOnSqlServer(String, String, String, String) |
Powrót do początku
Wyliczanie pakietów dostępne
Aby uzyskać listę pakietów, zapisanych programowo, wywołaj jedną z następujących metod:
Lokalizacja przechowywania |
Metoda służąca do wywołania |
---|---|
Magazyn pakiet SSIS |
GetDtsServerPackageInfos(String, String) |
SQL Server |
GetPackageInfos(String, String, String, String) |
Następujące przykłady są aplikacji konsoli, które wskazują stosowania tych metod.
Przykład (Magazyn pakiet SSIS)
Użycie GetDtsServerPackageInfos(String, String) Metoda do listy pakietów przechowywane w magazynie pakiet SSIS. Domyślne lokalizacje przechowywania są zarządzane przez Magazyn pakiet SSIS to system plików i MSDB.Można utworzyć dodatkowe foldery logiczne 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();
}
}
}
Powrót do początku
Przykład (SQL Server)
Użycie GetPackageInfos(String, String, String, String) metoda do listy Integration Services pakiety, które są przechowywane w wystąpieniu 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();
}
}
}
Powrót do początku
|