Executables.Add(String) Méthode

Définition

Ajoute un nouvel objet conteneur ou de tâche à la collection 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

Paramètres

moniker
String

Moniker du fichier exécutable.

Retours

Objet TaskHost à partir de l’objet nouvellement créé Executable . Pour définir des propriétés ou appeler des méthodes sur le nouvel objet, vous avez deux options :Utilisez la Properties collection du TaskHost. Par exemple, pour obtenir une propriété à partir de l’objet, utilisez th. Propriétés["propertyname"]. GetValue(th)). Pour définir une propriété, utilisez la th. Propriétés["propertyname"]. SetValue(th, <value>); Castez la InnerObject valeur de la TaskHost classe de tâches. Par exemple, pour convertir la tâche d’insertion en bloc sur une BulkInsertTask fois qu’elle a été ajoutée à un package en tant que Executable package et ensuite castée en un TaskHost, utilisez BulkInsertTask myTask = th. InnerObject en tant que BulkInsertTask;. L’utilisation de la classe dans le TaskHost code sans passer à la classe spécifique à la tâche présente ces avantages :Le TaskHostProperties fournisseur ne nécessite pas de référence à l’assembly dans le code. Vous pouvez coder des routines génériques qui fonctionnent avec toutes les tâches, car vous n'avez pas besoin de connaître le nom de la tâche au moment de la compilation. Ces routines génériques peuvent être des méthodes dans lesquelles vous pouvez passer le nom de la tâche et dont le code fonctionne avec toutes les tâches. Il s’agit d’une bonne méthode pour écrire du code de test. Le cast de la classe spécifique à la TaskHost tâche présente les avantages suivants : le projet Visual Studio vous offre la saisie semi-automatique des instructions (IntelliSense). Le code peut s'exécuter plus rapidement. Produit des objets à liaison anticipée Pour plus d’informations sur la liaison précoce et tardive, consultez La liaison précoce et tardive dans Visual Basic Language Concepts.Selon vos besoins, vous pouvez ou non caster l’objet dans sa classe spécifique à la tâche.

Exemples

L’exemple de code suivant ajoute la tâche d’insertion en bloc en tant qu’exécutable au package.

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  

Exemple de sortie :

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

Remarques

Utilisez Add quand vous créez un conteneur ou une tâche et que vous souhaitez l’ajouter à la Executables collection. Le paramètre de méthode est une chaîne, qui peut être le CLSID, PROGID, LE moniker STOCK ou CreationName la propriété de l’objet TaskInfo . La méthode retourne l’objet TaskHost de la tâche nouvellement créée en tant qu’objet Executable . Pour plus d’informations, consultez Ajouter ou supprimer une tâche ou un conteneur dans un flux de contrôle.

S’applique à