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

LoadPackage

veya

LoadPackage

SSIS paketi deposu

LoadFromDtsServer

SQL Server

LoadFromSqlServer

Önemli notÖ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

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

  2. Tarih Proje menüsünden tıklatın Add Reference ve başvuru eklemek Microsoft.SqlServer.ManagedDTS.dll. Click OK.

  3. Visual Basic kullanarak Importsdeyimi veya C# usingifadesini almak için Microsoft.SqlServer.Dts.Runtimenamespace.

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

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

  1. Önceki örnekte bu örneğin bir proje oluşturmak için adımları izleyin.

  2. Aşağıdaki kod, ana yordamı ekleyin. Tamamlanan konsol uygulaması aşağıdaki gibi görünmelidir:

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

En son karşıdan yüklemeler, makaleler, örnekler ve Microsoft video yanı sıra topluluk seçili çözümleri için ziyaret Integration ServicesMSDN sayfası:


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

Ayrıca bkz.

Görevler

Uzak paket programlı olarak çalışan ve yükleme

Yerel paket çıktı yükleniyor

Kavramlar

Yerel ve uzak arasındaki farklılıkları anlama yürütme