Executables.Add(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.