Executables.Add(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
新增一個容器或任務物件到集合中 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。 如需詳細資訊,請參閱 在控制流程中加入或刪除工作或容器。