Aracılığıyla paylaş


Executables.Add Yöntemi

Yeni bir kapsayıcı veya görev nesnesi ekler Executables koleksiyon.

Ad Alanı:  Microsoft.SqlServer.Dts.Runtime
Derleme:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS içinde.dll)

Sözdizimi

'Bildirim
Public Function Add ( _
    moniker As String _
) As Executable
'Kullanım
Dim instance As Executables
Dim moniker As String
Dim returnValue As Executable

returnValue = instance.Add(moniker)
public Executable Add(
    string moniker
)
public:
Executable^ Add(
    String^ moniker
)
member Add : 
        moniker:string -> Executable 
public function Add(
    moniker : String
) : Executable

Parametreler

Dönüş Değeri

Tür: Microsoft.SqlServer.Dts.Runtime.Executable

A TaskHost nesnesinden yeni oluşturulan Executable nesne.
İçin küme özellikler veya yeni nesne üzerinde yöntem çağrısı için iki seçeneğiniz vardır:

  1. Use the Properties koleksiyon of the TaskHost.Örneğin alın, bir özellik nesneden kullanmak th.Properties["propertyname"].GetValue(th)).İçin küme bir özellik kullanmak th.Properties["propertyname"].SetValue(th, <value>);.

  2. Cast InnerObject , TaskHost için görev tanýmýnaÖrneğin Bulk INSERT göreve artığını, bir BulkInsertTask bir paket olarak eklendikten sonra bir Executable için sonradan artığını ve bir TaskHostkullanın BulkInsertTask myTask = th.InnerObject as BulkInsertTask;.

Kullanarak TaskHost sınıf kodu olmadan görev özgü sınıf çevrim aşağıdaki avantajları vardır:

  • The TaskHostProperties provider does not require a reference to the assembly in the code.

  • derleme saat görevin adını bilmek zorunda değilsiniz çünkü herhangi bir görev için çalışma genel yordamları kodu.Bu genel yordamlar tüm görevler, görev adını yönteme ve burada yöntem kodu çalışır yöntemleri olabilir.Bu test kodu yazmak için iyi yöntem.

Den vuran TaskHost görev özgü sınıf için aşağıdaki avantajları vardır:

  • Visual Studio proje deyim tamamlama (IntelliSense) ile sağlar.

  • Kod daha hızlı çalışabilir.

  • Oluşturan bağlı erken nesneler erken ve geç bağlama hakkında daha fazla bilgi için bkz: erken ve geç bağlama Visual Basic dil kavramları içinde.

Kendi gereksinimlerinize bağlı olabilir veya kendi görev özgü sınıf nesnesine artığını.

Açıklamalar

Use Add ne zaman yeni bir kapsayıcı veya görev oluşturmak ve eklemek istediğiniz Executables koleksiyon.Yöntem parametre bir dize, CLSID, ProgID, hisse SENEDİ ad olabilir veya CreationName özellik TaskInfo nesne.Yöntem döndürür TaskHost Yeni oluşturulan görev nesnesi bir Executable nesne.Daha fazla bilgi için, bkz. Bir denetimi akışı için görevler ekleme.

Örnekler

Aşağıdaki kod örneği, bir yürütülebilir dosya için Bulk INSERT görev ekler paket.

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

Örnek Çıktı:

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