語言

Executables.Add(String) 方法

定義

新增一個容器或任務物件到集合中 Executables 。

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

參數

moniker
String

執行檔的名稱。

傳回

來自TaskHost新建立Executable物件的物件。要設定屬性或呼叫新物件的方法,你有兩個選項:使用 Properties 的集合。TaskHost 例如,要從物件取得屬性,請使用 th。物業[“propertyname”]。GetValue(th))。 要設定屬性,請使用 th。物業[“propertyname”]。SetValue(th, <value>);.將 的 TaskHost 投射InnerObject到 任務類別。 例如,若要將 Bulk Insert 任務 BulkInsertTask 在被加入套件 Executable 後投射到 a,隨後再投射到 TaskHost,請使用 BulkInsertTask myTask = th。InnerObject 作為 BulkInsertTask;.在程式碼中使用該 TaskHost 類別而不轉換到特定任務類別有以下優點: TaskHostProperties 提供者不需要在程式碼中引用組合語言。 你可以編寫通用例程,適用於任何任務,因為編譯時不需要知道任務名稱。 這些通用例程可以是將任務名稱傳給方法的方法,方法程式碼對所有任務都有效。 這是撰寫測試程式碼的好方法。從 TaskHost 轉換為任務專屬類別有以下優點:Visual Studio 專案提供語句補全功能(IntelliSense)。 程式碼可能會更快。 產生早期綁定物件 欲了解更多關於早期與晚期綁定的資訊,請參閱 Visual Basic 語言概念中的早期與晚期綁定。依照你的需求,你可以或不會將物件投射到其任務專屬類別。

範例

以下程式碼範例將 Bulk Insert 任務作為執行檔加入套件。

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  

範例輸出:

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

備註

當你建立新的容器或任務,想把它加入Executables收藏時使用Add。 方法參數是一個字串,可以是物件的 TaskInfo CLSID、PROGID、STOCK 名稱或CreationName屬性。 該方法會將新建立任務的物件作為Executable物件回傳TaskHost。 如需詳細資訊,請參閱 在控制流程中加入或刪除工作或容器。

適用於