Bagikan melalui


Executables.Add(String) Metode

Definisi

Menambahkan kontainer baru atau objek tugas ke Executables koleksi.

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

Parameter

moniker
String

Moniker ke executable.

Mengembalikan

Objek TaskHost dari objek yang baru dibuat Executable . Untuk mengatur properti atau memanggil metode pada objek baru, Anda memiliki dua opsi: Gunakan Properties koleksi TaskHost. Misalnya, untuk mendapatkan properti dari objek , gunakan th. Properti["propertyname"]. GetValue(th)). Untuk mengatur properti, gunakan th. Properti["propertyname"]. SetValue(th, <value>);. Cast dari InnerObjectTaskHost ke kelas tugas. Misalnya, untuk mentransmisikan tugas Sisipkan Massal ke BulkInsertTask setelah ditambahkan ke paket sebagai Executable dan kemudian ditransmisikan ke TaskHost, gunakan BulkInsertTask myTask = th. InnerObject sebagai BulkInsertTask;. TaskHost Menggunakan kelas dalam kode tanpa transmisi ke kelas khusus tugas memiliki keuntungan ini:Penyedia TaskHostProperties tidak memerlukan referensi ke perakitan dalam kode. Anda dapat membuat kode rutinitas generik yang berfungsi untuk tugas apa pun, karena Anda tidak perlu mengetahui nama tugas pada waktu kompilasi. Rutinitas generik ini dapat menjadi metode di mana Anda meneruskan nama tugas ke metode , dan kode metode berfungsi untuk semua tugas. Ini adalah metode yang baik untuk menulis kode uji. Transmisi dari TaskHost ke kelas khusus tugas memiliki keuntungan berikut: Proyek Visual Studio memberi Anda penyelesaian pernyataan (IntelliSense). Kode mungkin berjalan lebih cepat. Menghasilkan objek terikat awal Untuk informasi lebih lanjut tentang pengikatan awal dan terlambat, lihat Pengikatan Awal dan Terlambat dalam Konsep Bahasa Visual Basic.Tergantung pada kebutuhan Anda, Anda mungkin atau mungkin tidak melemparkan objek ke kelas khusus tugasnya.

Contoh

Contoh kode berikut menambahkan tugas Sisipkan Massal sebagai yang dapat dieksekusi ke 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  

Contoh 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

Keterangan

Gunakan Add saat Anda membuat kontainer atau tugas baru dan ingin menambahkannya ke Executables koleksi. Parameter metode adalah string, yang dapat berupa CLSID, PROGID, STOCK moniker, atau CreationName properti TaskInfo objek. Metode mengembalikan TaskHost objek tugas yang baru dibuat sebagai Executable objek. Untuk informasi selengkapnya, lihat Menambahkan atau Menghapus Tugas atau Kontainer dalam Alur Kontrol.

Berlaku untuk