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

  • Yükler ve paket yerel bilgisayarda çalışan bir uygulama oluşturma

    • Paket yükleme yöntemleri

    • Paketi çalıştırır yöntemi

    • Örnek

  • Çalışan paketinden olaylarýný yakalamak

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) ]

NotNot
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

  1. 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.

  2. Üzerinde Proje menüsünde'i tıklatın Add Reference ve bir başvuru ekleyin Microsoft.SqlServer.ManagedDTS.dll.Click OK.

  3. Visual Basic kullanın Imports deyim ya da C# using ifadesini almak için Microsoft.SqlServer.Dts.Runtime ad.

  4. 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.

  5. 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

  1. Örnekte bu örnek bir proje oluşturmak için önceki bölümdeki adımları izleyin.

  2. Ana yordamında bu yordamdan sonra görünen örnek kodu ekleyin.

    Tamamlanmış bir konsol uygulaması aşağıdaki gibi görünmelidir.

  3. 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();
    }
  }
}
Integration Services simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa MSDN'de:


Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.