Executables.Add(String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
매개 변수
- moniker
- String
실행할 모니커입니다.
반환
TaskHost 새로 만든 Executable 개체의 개체입니다. 속성을 설정하거나 새 개체에서 메서드를 호출하려면 다음 두 가지 옵션이 PropertiesTaskHost있습니다. 예를 들어 개체에서 속성을 얻으려면 th를 사용합니다. Properties["propertyname"]. GetValue(th)) 속성을 설정하려면 th를 사용합니다. Properties["propertyname"]. SetValue(th, <value>);. InnerObject 작업 클래스로 TaskHost 캐스팅합니다. 예를 들어 대량 삽입 태스크를 패키지에 BulkInsertTask 추가한 후 패키지로 Executable 캐스팅한 후로 캐스팅 TaskHost하려면 BulkInsertTask myTask = th를 사용합니다. InnerObject를 BulkInsertTask;로 지정합니다. TaskHost 태스크별 클래스로 캐스팅하지 않고 코드에서 클래스를 사용하면 다음과 같은 이점이 있습니다. 공급자는 TaskHostProperties 코드의 어셈블리에 대한 참조가 필요하지 않습니다. 컴파일 시 태스크 이름을 몰라도 되므로 모든 태스크에 대해 작동하는 일반 루틴을 코딩할 수 있습니다. 이러한 일반 루틴을 사용하면 사용자가 직접 해당 메서드에 태스크 이름을 전달할 수 있고 메서드 코드를 임의의 태스크에 대해 사용할 수 있습니다. 이 방법은 테스트 코드를 작성하는 데 적합합니다. 작업별 클래스로 TaskHost 캐스팅하면 다음과 같은 이점이 있습니다. Visual Studio 프로젝트는 명령문 완성(IntelliSense)을 제공합니다. 코드가 보다 빨리 실행될 수 있습니다. 초기 바인딩된 개체를 생성합니다. 초기 바인딩 및 지연 바인딩에 대한 자세한 내용은 Visual Basic Language Concepts의 초기 바인딩 및 지연 바인딩을 참조하세요. 필요에 따라 개체를 해당 작업별 클래스로 캐스팅할 수도 있고 그렇지 않을 수도 있습니다.
예제
다음 코드 예제에서는 대량 삽입 태스크를 패키지에 실행 파일로 추가합니다.
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
샘플 출력:
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
설명
새 컨테이너 또는 작업을 만들고 컬렉션에 추가 Executables 하려는 경우에 사용합니다Add. 메서드 매개 변수는 CLSID, PROGID, STOCK 모니커 또는 CreationName 개체의 TaskInfo 속성일 수 있는 문자열입니다. 메서드는 새로 만든 작업의 개체를 개체로 Executable 반환 TaskHost 합니다. 자세한 내용은 제어 흐름에서 태스크 또는 컨테이너 추가 또는 삭제를 참조하세요.