Executables.Add(String) Methode

Definition

Fügt der Executables-Auflistung ein neues Container- oder Taskobjekt hinzu.

public:
 Microsoft::SqlServer::Dts::Runtime::Executable ^ Add(System::String ^ moniker);
public Microsoft.SqlServer.Dts.Runtime.Executable Add (string moniker);
member this.Add : string -> Microsoft.SqlServer.Dts.Runtime.Executable
Public Function Add (moniker As String) As Executable

Parameter

moniker
String

Der Moniker zur ausführbaren Datei.

Gibt zurück

Ein TaskHost Objekt aus dem neu erstellten Executable Objekt. Um Eigenschaften festzulegen oder Methoden für das neue Objekt aufzurufen, verfügen Sie über zwei Optionen:Verwenden Sie die Properties Auflistung der TaskHost. Wenn Sie beispielsweise eine Eigenschaft aus dem Objekt abrufen möchten, verwenden Sie th. Properties["propertyname"]. GetValue(th)). Um eine Eigenschaft festzulegen, verwenden Sie th. Properties["propertyname"]. SetValue(th, <Wert>);. Cast the InnerObject of the TaskHost to the task class. Wenn Sie beispielsweise die Aufgabe "Massen einfügen" in BulkInsertTask ein Paket als Ein- und anschließend in ein TaskHostPaket Executable casten möchten, verwenden Sie BulkInsertTask myTask = th. InnerObject als BulkInsertTask;. Die Verwendung der TaskHost Klasse im Code ohne Umwandlung in die aufgabenspezifische Klasse hat folgende Vorteile: Der TaskHostProperties Anbieter erfordert keinen Verweis auf die Assembly im Code. Sie können Code für generische Routinen schreiben, die für jeden Task anwendbar sind, da Sie bei der Kompilierung nicht über den Namen des Tasks verfügen müssen. Diese generischen Routinen können Methoden sein, bei denen Sie den Tasknamen an die Methode übergeben und der Methodencode für alle Tasks geeignet ist. Dies ist eine gute Methode zum Schreiben von Testcode. Das Casting von der aufgabespezifischen Klasse verfügt über TaskHost die folgenden Vorteile:Das Visual Studio-Projekt bietet Ihnen die Anweisungsvervollständigen (IntelliSense). Der Code wird möglicherweise schneller ausgeführt. Erstellt Früh- und Spätbindungsobjekte, weitere Informationen zu frühen und späten Bindungen finden Sie in Visual Basic Language Concepts.Abhängig von Ihren Anforderungen können Sie das Objekt möglicherweise oder nicht in seine aufgabenspezifische Klasse umwandeln.

Beispiele

Im folgenden Codebeispiel wird die Aufgabe "Massen einfügen" als ausführbare Datei zum Paket hinzugefügt.

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  

Beispielausgabe:

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

Hinweise

Verwenden Add Sie, wenn Sie einen neuen Container oder eine neue Aufgabe erstellen und sie der Executables Auflistung hinzufügen möchten. Der Methodenparameter ist eine Zeichenfolge, die die CLSID, PROGID, STOCK moniker oder CreationName Eigenschaft des TaskInfo Objekts sein kann. Die Methode gibt das TaskHost Objekt der neu erstellten Aufgabe als Executable Objekt zurück. Weitere Informationen hierzu finden Sie unter Hinzufügen oder Löschen eines Tasks oder Containers in einer Ablaufsteuerung.

Gilt für: