Executables.Add(String) Método

Definición

Agrega un nuevo contenedor u objeto de tarea a la colección 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

Parámetros

moniker
String

El moniker para el ejecutable.

Devoluciones

Objeto TaskHost del objeto recién creado Executable . Para establecer propiedades o para llamar a métodos en el nuevo objeto, tiene dos opciones: Use la Properties colección de TaskHost. Por ejemplo, para obtener una propiedad del objeto , use th. Properties["propertyname"]. GetValue(th)). Para establecer una propiedad, use th. Properties["propertyname"]. SetValue(th, <value>);. Convierta el InnerObject de en TaskHost la clase de tarea. Por ejemplo, para convertir la tarea Inserción masiva en una BulkInsertTask después de que se haya agregado a un paquete como Executable y conversión posterior a , TaskHostuse BulkInsertTask myTask = th. InnerObject como BulkInsertTask;. El uso de la TaskHost clase en el código sin la conversión a la clase específica de la tarea tiene estas ventajas: el TaskHostProperties proveedor no requiere una referencia al ensamblado en el código. Puede codificar rutinas genéricas que funcionan en cualquier tarea, ya que no es necesario conocer el nombre de la tarea en tiempo de compilación. Estas rutinas genéricas pueden ser métodos donde se pasa el nombre de la tarea al método; el código del método funciona en todas las tareas. Este es un buen método para escribir código de prueba. La conversión de TaskHost a la clase específica de la tarea tiene las siguientes ventajas: El proyecto de Visual Studio proporciona finalización de instrucciones (IntelliSense). El código se puede ejecutar con más rapidez. Genera objetos enlazados en tiempo de ejecución para obtener más información sobre el enlace anticipado y en tiempo de ejecución, vea Early and Late Binding in Visual Basic Language Concepts.Dependiendo de sus necesidades, puede o no convertir el objeto a su clase específica de la tarea.

Ejemplos

En el ejemplo de código siguiente se agrega la tarea Inserción masiva como un archivo ejecutable al paquete.

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  

Salida del ejemplo:

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

Comentarios

Use Add al crear un nuevo contenedor o tarea y quiera agregarlo a la Executables colección. El parámetro de método es una cadena, que puede ser clSID, PROGID, moniker STOCK o CreationName propiedad del TaskInfo objeto. El método devuelve el TaskHost objeto de la tarea recién creada como un Executable objeto . Para más información, vea Agregar o eliminar tareas o contenedores en un flujo de control.

Se aplica a