Udostępnij za pośrednictwem


Metoda Executables.Add

Dodaje nowy kontener lub obiekt zadania do Executables kolekcja.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Runtime
Zestaw:  Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)

Składnia

'Deklaracja
Public Function Add ( _
    moniker As String _
) As Executable
'Użycie
Dim instance As Executables
Dim moniker As String
Dim returnValue As Executable

returnValue = instance.Add(moniker)
public Executable Add(
    string moniker
)
public:
Executable^ Add(
    String^ moniker
)
member Add : 
        moniker:string -> Executable 
public function Add(
    moniker : String
) : Executable

Parametry

Wartość zwracana

Typ: Microsoft.SqlServer.Dts.Runtime.Executable

A TaskHost nowo utworzonego obiektu Executable obiektu.
Aby zestaw właściwości lub do wywoływania metody na nowy obiekt, masz dwie opcje:

  1. Użyj Properties kolekcja TaskHost.Na przykład, aby uzyskać właściwość z obiektu, należy th.Properties["propertyname"].GetValue(th)).Aby zestaw właściwości, użyj th.Properties["propertyname"].SetValue(th, <value>);.

  2. Rzutowanie InnerObject z TaskHost do klasy zadaniaNa przykład, aby rzutować zadania Wstaw luzem BulkInsertTask po został dodany do pakiet jako Executable i następnie oddać do TaskHost, użyj BulkInsertTask myTask = th.InnerObject as BulkInsertTask;.

Za pomocą TaskHost klasy w kodzie bez rzutowanie klasy poszczególnych zadań ma następujące zalety:

  • The TaskHostProperties provider does not require a reference to the assembly in the code.

  • Można Kod rodzajowy procedur, które działają w dowolnym zadaniem, ponieważ nie trzeba znać nazwę zadania czas kompilacji.Ogólne procedury te mogą być metod gdzie przekazać na rzecz zadania do metoda i kod metoda działa dla wszystkich zadań.Jest to dobra metoda do pisania kodu testu.

Rzutowanie z TaskHost do klasy poszczególnych zadań ma następujące zalety:

  • Projekt programu Visual Studio umożliwia Kończenie instrukcja (technologia IntelliSense).

  • Kod może działać szybciej.

  • Tworzy obiekty wcześnie wiązanej więcej informacji na temat wczesnego i późnego powiązanie, zobacz wczesnego i zwłoczny powiązanie w pojęcia języka Visual Basic.

W zależności od potrzeb może lub nie może oddać obiektu do jego klasy poszczególnych zadań.

Uwagi

Użyj Add Po utworzeniu nowego kontener lub zadań i chcesz dodać ją do Executables kolekcja.Parametr metoda jest ciąg, który może być moniker zapasów PROGID, CLSID, lub CreationName Właściwość TaskInfo obiektu.Metoda zwraca TaskHost obiektu nowo utworzone zadanie jako Executable obiektu.Aby uzyskać więcej informacji, zobacz temat Dodawanie zadań przepływ sterowania.

Przykłady

Poniższy przykład kodu dodaje zadań Wstaw luzem jako plik wykonywalny do pakiet.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace Executables_API
{
        class Program
        {
        static void Main(string[] args)
        {
            Package pkg = new Package();
            Executable exec = pkg.Executables.Add("STOCK:BulkInsertTask");

            // Obtain the collection.
            Executables pgkExecs = pkg.Executables;
            foreach (Executable eachExec in pgkExecs)
            {
                TaskHost th = exec as TaskHost;
                Console.WriteLine("Executable creation name is: {0}", th.CreationName);
            }
                        // Show that at least one executable exists.
            if (pgkExecs.Contains(0))
            {
                Console.WriteLine("Contains returned true");
            }
            else
            {
                Console.WriteLine("Contains returned false");
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
 
Namespace Executables_API
        Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim pkg As Package =  New Package() 
            Dim exec As Executable =  pkg.Executables.Add("STOCK:BulkInsertTask") 
 
            ' Obtain the collection.
            Dim pgkExecs As Executables =  pkg.Executables 
            Dim eachExec As Executable
            For Each eachExec In pgkExecs
                Dim th As TaskHost =  exec as TaskHost 
                Console.WriteLine("Executable creation name is: {0}", th.CreationName)
            Next
                        ' Show that at least one executable exists.
            If pgkExecs.Contains(0) Then
                Console.WriteLine("Contains returned true")
            Else 
                Console.WriteLine("Contains returned false")
            End If
        End Sub
        End Class
End Namespace

Przykładowe dane wyjściowe:

Executable creation name is: Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask, Microsoft.SqlServer.BulkInsertTask, Version=10.0.000.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91

Contains returned true