Executables.Add(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um novo container ou objeto de tarefa à Executables coleção.
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
Parâmetros
- moniker
- String
O nome do executável.
Retornos
Um TaskHost objeto do objeto recém-criado Executable . Para definir propriedades ou chamar métodos no novo objeto, você tem duas opções: Use a Properties coleção do TaskHost. Por exemplo, para obter uma propriedade do objeto, use th. Propriedades ["nome da propriedade"]. GetValue(th)). Para definir uma propriedade, use th. Propriedades ["nome da propriedade"]. SetValue(th, <valor>);. Conjure o InnerObject de para TaskHost a classe de tarefa. Por exemplo, para castar a tarefa Bulk Insert para a BulkInsertTask após ela ter sido adicionada a um pacote como an Executable e posteriormente cast para um TaskHost, use BulkInsertTask myTask = th. InnerObject como BulkInsertTask;. Usar a TaskHost classe no código sem fazer cast para a classe específica da tarefa tem estas vantagens: O TaskHostProperties provedor não requer referência ao assembly no código. Você pode programar rotinas genéricas que funcionam para qualquer tarefa, porque não precisa saber o nome da tarefa na hora da compilação. Essas rotinas genéricas podem ser métodos onde você passa o nome da tarefa para o método, e o código do método funciona para todas as tarefas. Esse é um bom método para escrever código de teste. O casting da TaskHost classe para a tarefa específica traz as seguintes vantagens: O projeto Visual Studio oferece a completação de instruções (IntelliSense). O código pode rodar mais rápido. Produz objetos ligados precocemente Para mais informações sobre ligação inicial e tardia, veja Binding Inicial e Tardio em Visual Basic Language Concepts. Dependendo das suas necessidades, você pode ou não confundir o objeto para sua classe específica de tarefa.
Exemplos
O exemplo de código a seguir adiciona a tarefa Bulk Insert como um executável ao pacote.
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
Amostra de saída:
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
Comentários
Use Add quando você criar um novo container ou tarefa e quiser adicioná-lo à Executables coleção. O parâmetro do método é uma string, que pode ser o nome CLSID, PROGID, STOCK ou CreationName propriedade do TaskInfo objeto. O método retorna o TaskHost objeto da tarefa recém-criada como um Executable objeto. Para obter mais informações, consulte Adicionar ou excluir uma tarefa ou um contêiner em um fluxo de controle.