SSIS paketi yerel bilgisayarda program aracılığıyla çalışan
Yönetilen kod sadece birkaç satır ve yerel bilgisayarda doğru Önkoşullar ile özel bir uygulamadan paket çalıştırabilirsiniz.Özel uygulama bir Windows Forms uygulaması, bir asp bir konsol uygulaması olabilir.net Web form veya Web hizmetini veya bir Windows hizmet.
Not
Çalıştırmak için Integration Services gibi gerekli veya at kez önceden paketlerini kullanma konusunda, açıklanan yöntemleri Çalışan paketler.
Bu konudaki bölümler
|
Yerel bilgisayar için Önkoşullar
Paket başlatan uygulama aynı bilgisayarda bir paketi çalıştırır.Bu nedenle, bir uygulama başka bir bilgisayarda uzaktan depolanmış paket yüklendiğinde, yerel bilgisayara paket çalıştırır.
Sonuç olarak, yükleme ve paket yerel bilgisayarda çalışan birkaç önkoşullara sahiptir:
Paket paket için dış kaynaklara başvuruları içeriyorsa, bu başvuruları yerel bilgisayardaki geçerli olması gerekir.Bağlantı dizeleri, sunucular, dosyaları, ileti kuyrukları ve diğerleri bu başvuruları içerir.
Not
Yerel bilgisayarın geçerli başvurular pakete dış kaynaklara sahip değil yerel bilgisayarda paket çalıştıramazsınız.Bunun yerine, paket uzak bilgisayarda çalıştırır emin olmalısınız.Daha fazla bilgi için bkz: SSIS paketi program aracılığıyla bir uzak bilgisayarda çalışan.
paket için veri kaynakları ve diğer kaynakları üzerinde veya yerel bilgisayardan erişmek için gerekli tüm izinleri olması gerekir.
Yalnızca geliştirme ortamı dışında paket çalıştırmak için Business Intelligence Development Studio, olan bir bilgisayarda Integration Services yüklü.
Not
Koşullarını kendi SQL Server Lisans değil izin verebilir, yükleme Integration Services ek bilgisayarlar.(Integration Services bir sunucu bileşenidir ve istemci yerel bilgisayarlara. için veya yeniden dağıtılabilir değil) Integration Services Yüklenemez ve değil yerel bilgisayarda paket Uzak bilgisayar. üzerinde çalıştığını emin olunDaha fazla bilgi için bkz: SSIS paketi program aracılığıyla bir uzak bilgisayarda çalışan.
Yükler ve SSIS paketi yerel bilgisayarda çalışan bir uygulama oluşturma
Bu konudaki tüm yöntemler yüklemek ve paketleri program aracılığıyla çalıştırmak bir başvuru gerektirir Microsoft.SqlServer.ManagedDTS derleme.Bu başvuruyu yeni bir projeye eklendikten sonra almak Microsoft.SqlServer.Dts.Runtime C# ile ad using deyim veya bir Visual Basic Imports deyim.
SSIS paketi yükleme yöntemleri
paket yerel olarak veya uzaktan, depolanan olup olmadığına bakılmaksızın yerel bilgisayarda program aracılığıyla paket yüklemek için aşağıdaki yöntemlerden birini arayın tablo.Bu yöntemlerin tümü, dönmek bir Package nesne, hangi sonra kullanarak paketi çalıştırın veya incelemek paket özellikleri.
Depolama konumu |
Çağrı yöntemi |
---|---|
Dosya |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ] — veya — [ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents,System.Boolean) ] |
SSISPaket Deposu |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadFromDtsServer(System.String,System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ]
Not
Yöntemleri Application çalışmak için sınıf SSIS paketi depolama yalnızca Destek ".", localhost, veya sunucu adı için yerel sunucu"(Yerel)" kullanamazsınız.
|
SQL Server |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.LoadFromSqlServer(System.String,System.String,System.String,System.String,Microsoft.SqlServer.Dts.Runtime.IDTSEvents) ] |
SSIS paketi çalıştırır yöntemi
paket yerel bilgisayarda program aracılığıyla çalıştırmak için paket önceki bölümde açıklandığı şekilde yük ve sonra call Execute yöntem, paket.
Örnek
Özel bir uygulama geliştirmek için aşağıdaki yordamı kullanın yönetilen kod yükler ve paket yerel bilgisayarda çalıştırılır.Aşağıdaki yordamı yordamdaki adımları gösteren bir örnek konsol uygulamasıdır.
paket yerel bilgisayarda program aracılığıyla çalıştırmak ve yüklemek için
Başlat Visual Studio geliştirme ortamı ve yeni bir uygulama sizin tercih edilen geliştirme dili.
Bu örnek, bir konsol uygulaması kullanır.Bununla birlikte, bir Windows Forms uygulamasında, bir asp bir paket de çalıştırabilirsiniz.net Web form veya Web hizmetini veya bir Windows hizmet.
Üzerinde Proje menüsünde'i tıklatın Add Reference ve bir başvuru ekleyin Microsoft.SqlServer.ManagedDTS.dll.Click OK.
Visual Basic kullanın Imports deyim ya da C# using ifadesini almak için Microsoft.SqlServer.Dts.Runtime ad.
Bu yordamı aşağıdaki örnek kodu ana yordamı ekleyin.
Tamamlanmış bir konsol uygulaması örnek kodu kısmında yer alan aşağıdaki gibi görünmelidir.
Not
Örnek kod kullanarak dosya sisteminden paket yüklenirken göstermektedir LoadPackage yöntem.Ancak, aynı zamanda paketinden yükleyebilirsiniz msdb çağırarak veritabanı LoadFromSqlServer yöntem, ya da Integration Services arayarak paket deposu LoadFromDtsServer yöntem.
Projeyi çalıştırın.
Örnek kodu CalculatedColumns ile yüklenen örnek paket SQL Server örnekleri.paket yürütme sonucu, 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
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ışan SSIS paketindeki olaylarýný yakalamak
Önceki bölümdeki örnek gösterilen program aracılığıyla paket çalıştırdığınızda, hata ve paket çalıştırır gibi diğer olayları yakalamak isteyebilirsiniz.Dan devralan bir sınıf ekleyerek Bunu gerçekleştirmenin DefaultEvents göre o sınıfın yüklediğinizde başvuru geçirerek ve sınıfpaket. Aşağıdaki örnek yalnızca yakalayan rağmen OnError olay, diğer birçok olay vardır, DefaultEvents sınıfı sağlar, yakalama.
paket yerel bilgisayarda program aracılığıyla çalıştırmak ve paket olayları yakalamak için
Örnekte bu örnek bir proje oluşturmak için önceki bölümdeki adımları izleyin.
Ana yordamında bu yordamdan sonra görünen örnek kodu ekleyin.
Tamamlanmış bir konsol uygulaması aşağıdaki gibi görünmelidir.
Projeyi çalıştırın.
Örnek kod ile yüklenen CalculatedColumns örnek paket çalıştırır SQL Server örnekleri.paket yürütme sonucu oluşabilecek hatalar ile birlikte konsol penceresi 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
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();
}
}
}
|