Executables.Add(String) Metodo

Definizione

Aggiunge un nuovo oggetto contenitore o attività alla raccolta 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

Parametri

moniker
String

Moniker del file eseguibile.

Restituisce

Oggetto TaskHost dall'oggetto appena creato Executable . Per impostare le proprietà o per chiamare i metodi nel nuovo oggetto, sono disponibili due opzioni:Usare l'insieme Properties di TaskHost. Ad esempio, per ottenere una proprietà dall'oggetto, usare th. Proprietà["propertyname"]. GetValue(th)). Per impostare una proprietà, usare th. Proprietà["propertyname"]. SetValue(th, <value>);. Eseguire il cast dell'oggetto InnerObjectTaskHost nella classe di attività. Ad esempio, per eseguire il cast dell'attività Inserimento bulk in un BulkInsertTask oggetto dopo che è stato aggiunto a un pacchetto come Executable oggetto e successivamente eseguire il cast in un TaskHostoggetto , usare BulkInsertTask myTask = th. InnerObject come BulkInsertTask;. L'uso della classe nel codice senza eseguire il TaskHost cast nella classe specifica dell'attività presenta questi vantaggi:Il TaskHostProperties provider non richiede un riferimento all'assembly nel codice. È possibile progettare routine generiche che funzionano per qualsiasi attività, perché non è necessario conoscere il nome dell'attività in fase di compilazione. Tali routine generiche possono essere metodi in cui si passa il nome dell'attività al metodo e il codice del metodo funziona per tutte le attività. Questo è un buon metodo per scrivere codice di test. Il cast dalla classe specifica dell'attività presenta i vantaggi seguenti:Il progetto di Visual Studio offre il completamento dell'istruzione TaskHost (IntelliSense). È possibile che il codice venga eseguito più velocemente. Produce oggetti associati anticipatamente per altre informazioni sull'associazione anticipata e tardiva, vedere Associazione anticipata e tardiva in Concetti del linguaggio visual basic. A seconda delle esigenze, è possibile che l'oggetto venga eseguito o meno a una classe specifica dell'attività.

Esempio

Nell'esempio di codice seguente viene aggiunta l'attività Inserimento bulk come eseguibile al pacchetto.

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  

Esempio di output

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

Commenti

Usare Add quando si crea un nuovo contenitore o attività e si vuole aggiungerlo alla Executables raccolta. Il parametro del metodo è una stringa, che può essere la proprietà CLSID, PROGID, STOCK moniker o CreationName dell'oggetto TaskInfo . Il metodo restituisce l'oggetto dell'attività TaskHost appena creata come Executable oggetto. Per altre informazioni, vedere Aggiunta o eliminazione di un'attività o un contenitore in un flusso di controllo.

Si applica a