Yükleme ve Yerel paket programlı olarak çalıştırmak
Sen-ebilmek koşmak Integration Servicespaket olarak gerekli veya kez açıklanan yöntemleri kullanarak, önceden Çalışan paketleri. Ancak, sadece bir kaç satır kod ile ayrıca bir paketi bir Windows Forms uygulaması, bir konsol uygulaması, asp gibi özel bir uygulamadan çalıştırabilirsiniz.net Web form ya da Web hizmetini veya bir Windows hizmeti.
Bu konu ele almaktadır:
Program aracılığıyla bir paketi yükleme
Program aracılığıyla bir paketi çalıştıran
Tüm bu konudaki yüklemek ve paketleri çalıştırmak için kullanılan yöntemleri gerektiren bir başvuru Microsoft.SqlServer.ManagedDTSMeclis. Yeni bir proje başvurusunu ekledikten sonra Al Microsoft.SqlServer.Dts.Runtimead alanı ile bir usingya Importsdeyimi.
Program aracılığıyla bir paketi yükleme
Paketi yerel olarak veya uzaktan depolanan olup olmadığını yerel bilgisayarda program aracılığıyla bir paket yüklemek için aşağıdaki yöntemlerden birini arayın:
Depolama konumu |
Arama yöntemi |
---|---|
Dosya |
veya |
SSIS paketi deposu |
|
SQL Server |
Önemli |
---|
Yöntemleri Applicationyalnızca SSIS paketi deposu ile çalışmak için sınıf desteği ".", localhost veya sunucu adı yerel sunucu için. "(Yerel) kullanamazsınız. |
Program aracılığıyla bir paketi çalıştıran
Bir paketi yerel bilgisayarda çalıştırılan yönetilen kod özel bir uygulama geliştirmek, aşağıdaki yaklaşım gerektirir. Burada özetlenen adımlar aşağıdaki örnek konsol uygulaması gösterdi.
Bir paketi yerel bilgisayarda program aracılığıyla çalıştırmak için
Visual Studio geliştirme ortamını başlatın ve tercih edilen gelişme dil yeni bir uygulama oluşturabilirsiniz. Bu örnek, bir konsol uygulaması kullanır; Ancak bir Windows Forms uygulamasında, asp bir paket de çalıştırabilirsiniz.net Web form ya da Web hizmetini veya bir Windows hizmeti.
Tarih Proje menüsünden tıklatın Add Reference ve başvuru eklemek Microsoft.SqlServer.ManagedDTS.dll. Click OK.
Visual Basic kullanarak Importsdeyimi veya C# usingifadesini almak için Microsoft.SqlServer.Dts.Runtimenamespace.
Aşağıdaki kod, ana yordamı ekleyin. Tamamlanan konsol uygulaması aşağıdaki gibi görünmelidir:
[!NOT]
Paket dosya sisteminden kullanarak yükleme örnek kodu gösterilmiştir LoadPackageyöntemi. Ancak de paketi msdb veritabanından çağrılarak yükleyebilirsiniz LoadFromSqlServeryöntemini veya Integration Servicespaket arayarak deposu LoadFromDtsServeryöntemi.
Projeyi çalıştırın. Örnek kod ile yüklü olan CalculatedColumns örnek paketi yürütür SQL Serverörnekleri. Paketi yürütme sonucunu, konsol penceresinde görüntülenir.
Örnek 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
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();
}
}
}
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();
}
}
}
Çalıştırma paketi olayları yakalama
Bir paketi program aracılığıyla önceki örnekte gösterildiği gibi çalıştırdığınızda, hata ve paketi yürütür gibi oluşan diğer olayları yakalamak isteyebilirsiniz. Dan devralan bir sınıf ekleyerek bunu yapabilirsiniz DefaultEventssınıf ve ile geçen o sınıf için bir başvuru paketi yüklediğinizde. Aşağıdaki örnek yalnızca yakalar, ancak OnErrorolay, diğer birçok olay vardır ki DefaultEventssınıf yakalamak sağlar.
Bir paketi yerel bilgisayarda program aracılığıyla çalıştırmak ve paketi olayları yakalamak için
Önceki örnekte bu örneğin bir proje oluşturmak için adımları izleyin.
Aşağıdaki kod, ana yordamı ekleyin. Tamamlanan konsol uygulaması aşağıdaki gibi görünmelidir:
Projeyi çalıştırın. Örnek kod ile yüklü olan CalculatedColumns örnek paketi yürütür SQL Serverörnekleri. Paketi yürütme sonucu oluşabilecek hatalar ile birlikte konsol penceresinde görüntülenir.
Örnek 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
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();
}
}
}
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();
}
}
}
|
Ayrıca bkz.
Görevler
Uzak paket programlı olarak çalışan ve yükleme