Uruchomienie pakietu SSIS programowo na komputerze lokalnym
Tylko kilka wierszy kod zarządzany i prawidłowe warunki wstępne na komputerze lokalnym można uruchomić pakiet aplikacji niestandardowych.Niestandardowych aplikacji może być aplikacją Windows Forms ASP aplikacji konsoli.Formularz sieci Web lub usługa sieci Web lub usługa systemu Windows.
Ostrzeżenie
Aby uruchomić Integration Services pakietów, jakie potrzebne lub w uprzednio określonym czasie, należy użyć metody, które są opisane w temacie, Pakiety z systemem.
Sekcje w tym temacie
|
Wymagania wstępne dla komputera lokalnego
Pakiet działa na tym samym komputerze co aplikacja, która uruchamia pakiet.W ten sposób podczas ładowania aplikacji pakietu, który jest przechowywane zdalnie na innym komputerze pakiet jest uruchamiany na komputerze lokalnym.
W wyniku ładowanie i uruchamianie pakiet na komputerze lokalnym ma kilka wstępnych:
Jeżeli pakiet zawiera odwołania do zasobów zewnętrznych do pakietu, te odwołania musi być prawidłowa na komputerze lokalnym.Odniesienia te obejmują, ciągi połączeń, serwery, plików, kolejki wiadomości i tak dalej.
Ostrzeżenie
Jeśli komputer lokalny nie ma prawidłowego odwołania do zasobów zewnętrznych do pakietu, nie można uruchomić pakiet na komputerze lokalnym.Zamiast tego należy się upewnić, że pakiet jest uruchamiany na komputerze zdalnym.Aby uzyskać więcej informacji, zobacz Uruchomienie pakietu SSIS programowo na komputerze zdalnym.
Musi mieć uprawnienia, które pakiet wymaga dostępu do źródeł danych i innych zasobów na lub z komputera lokalnego.
Można tylko uruchomić pakiet poza środowiskiem rozwoju Business Intelligence Development Studio, na komputerze, na którym Integration Services zainstalowany.
Ostrzeżenie
Warunki na SQL Server licencjonowania może nie zezwalać na instalowanie Integration Services na dodatkowych komputerach.(Integration Services jest składnikiem serwera i nie redystrybucyjny do klient lub komputerów lokalnych.) Jeśli Integration Services nie jest i nie może być zainstalowany na komputerze lokalnym musi zapewnić, że pakiet jest uruchamiany na komputerze zdalnym.Aby uzyskać więcej informacji, zobacz Uruchomienie pakietu SSIS programowo na komputerze zdalnym.
Tworzenie aplikacji ładuje i uruchamia pakietu SSIS na komputerze lokalnym
W tym temacie, wszystkie metody, które załadowania i uruchomienia pakietów programowo wymagają odniesienie do Microsoft.SqlServer.ManagedDTS wirtualny plik dziennika.Po dodaniu tego odwołania w nowym projekcie, należy zaimportować Microsoft.SqlServer.Dts.Runtime obszar nazw z C# using instrukcja lub Visual Basic Imports instrukcja.
Metody, które ładują pakietu SSIS
Załadować pakiet programowo na komputerze lokalnym, niezależnie od tego, czy pakiet jest przechowywany lokalnie lub zdalnie, wywołania jednej z metod w poniższej tabela.Wszystkie te metody zwracają Package obiekt, który następnie można uruchomić pakiet lub sprawdzać właściwości pakietu.
Lokalizacja magazynu |
Wywołanie metody |
---|---|
Plik |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ] — lub — [ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents,System.Boolean) ] |
SSISPakiet magazynu |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadFromDtsServer(System.String,System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ]
Uwaga:
Metody Application klasy do pracy z SSIS pakiet przechowywać tylko pomocy technicznej ".", localhost lub serwera Nazwa serwera lokalnego.Nie można użyć "(local)".
|
SQL Server |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadFromSqlServer(System.String,System.String,System.String,System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ] |
Metoda, która uruchamia pakietu SSIS
Aby uruchomić pakiet programowo na komputerze lokalnym, załaduj pakiet, jak opisano w poprzedniej sekcji, a następnie wywołać Execute metoda pakietu.
Przykład
Poniższa procedura służy do opracowywania aplikacji niestandardowych w kod zarządzany , ładuje i uruchamia pakiet na komputerze lokalnym.Wykonanie tej procedury jest przykładową aplikację konsoli przedstawiono kroki procedury.
Do załadowania i uruchomienia pakiet programowo na komputerze lokalnym
Uruchom Visual Studio środowisko projektowania i tworzenia nowej aplikacji w języku preferowanym rozwoju.
W tym przykładzie użyto aplikacji konsoli.Można jednak uruchomić pakiet z aplikacją Windows Forms ASP.Formularz sieci Web lub usługa sieci Web lub usługa systemu Windows.
Na projektu menu, kliknij Dodaj odwołanie i Dodaj odwołanie do Microsoft.SqlServer.ManagedDTS.dll.Click OK.
Za pomocą języka Visual Basic Imports instrukcja lub C# using instrukcja do importowania Microsoft.SqlServer.Dts.Runtime obszaru nazw.
W głównym rutynowych Dodaj przykładowy kod znajdujący się w tej procedurze.
Aplikacji konsoli zakończonych powinien wyglądać przykładowy kod w poniższej sekcji.
Ostrzeżenie
Przykładowy kod ilustruje ładowania pakiet z systemu plików za pomocą LoadPackage metoda.Jednak można również ładować pakietu z msdb bazy danych przez wywołanie LoadFromSqlServer metoda, lub z Integration Services pakiet magazynu przez wywołanie LoadFromDtsServer metoda.
Uruchom projekt.
Przykładowy kod wykonuje CalculatedColumns przykładowy pakiet, który jest instalowany razem z SQL Server próbki.Wynik wykonanie pakiet jest wyświetlany w oknie konsoli.
Przykładowy kod
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim pkgLocation As String
Dim pkg As New Package
Dim app As New Application
Dim pkgResults As DTSExecResult
pkgLocation = _
"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _
"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
pkg = app.LoadPackage(pkgLocation, Nothing)
pkgResults = pkg.Execute()
Console.WriteLine(pkgResults.ToString())
Console.ReadKey()
End Sub
End Module
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation =
@"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" +
@"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
Przechwytywanie zdarzeń z pakietu SSIS uruchamianie
Po uruchomieniu pakiet programowo, jak pokazano w próbce w poprzedniej sekcji, może również chcesz przechwytywać błędy i innych zdarzeń występujących podczas działania pakiet.Można to osiągnąć przez dodanie klasy, która dziedziczy z DefaultEvents klasy i przechodzącej przez odniesienie do tej klasy podczas ładowania pakiet.Chociaż w poniższym przykładzie przechwytuje tylko OnError zdarzenie, istnieją inne zdarzenia, DefaultEvents Klasa umożliwia możesz przechwytywania.
Aby uruchomić pakiet na komputerze lokalnym programowo i przechwytywania zdarzeń pakietu
Wykonaj kroki w przykładzie w poprzedniej sekcji, aby utworzyć projekt w tym przykładzie.
W głównym rutynowych Dodaj kod przykładowy, który pojawia się po wykonaniu tej procedury.
Aplikacji konsoli zakończonych powinna wyglądać jak w następującym przykładzie.
Uruchom projekt.
Przykładowy kod uruchamia pakiet próbki CalculatedColumns, który jest instalowany z SQL Server próbki.Wynik wykonanie pakiet jest wyświetlany w oknie konsoli i wszystkie błędy.
Przykładowy kod
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim pkgLocation As String
Dim pkg As New Package
Dim app As New Application
Dim pkgResults As DTSExecResult
Dim eventListener As New EventListener()
pkgLocation = _
"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _
"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
pkg = app.LoadPackage(pkgLocation, eventListener)
pkgResults = pkg.Execute(Nothing, Nothing, eventListener, Nothing, Nothing)
Console.WriteLine(pkgResults.ToString())
Console.ReadKey()
End Sub
End Module
Class EventListener
Inherits DefaultEvents
Public Overrides Function OnError(ByVal source As Microsoft.SqlServer.Dts.Runtime.DtsObject, _
ByVal errorCode As Integer, ByVal subComponent As String, ByVal description As String, _
ByVal helpFile As String, ByVal helpContext As Integer, _
ByVal idofInterfaceWithError As String) As Boolean
' Add application–specific diagnostics here.
Console.WriteLine("Error in {0}/{1} : {2}", source, subComponent, description)
Return False
End Function
End Class
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppWithEventsCS
{
class MyEventListener : DefaultEvents
{
public override bool OnError(DtsObject source, int errorCode, string subComponent,
string description, string helpFile, int helpContext, string idofInterfaceWithError)
{
// Add application-specific diagnostics here.
Console.WriteLine("Error in {0}/{1} : {2}", source, subComponent, description);
return false;
}
}
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
MyEventListener eventListener = new MyEventListener();
pkgLocation =
@"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" +
@"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, eventListener);
pkgResults = pkg.Execute(null, null, eventListener, null, null);
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
|