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
- moniker
Typ: System.String
Moniker do pliku wykonywalnego.
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:
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>);.
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