Executables.Join Method
Adds an existing container or task object to the Executables collection.
Namespace: Microsoft.SqlServer.Dts.Runtime
Assembly: Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)
Syntax
'Declaration
Public Sub Join ( _
executable As Executable _
)
'Usage
Dim instance As Executables
Dim executable As Executable
instance.Join(executable)
public void Join(
Executable executable
)
public:
void Join(
Executable^ executable
)
member Join :
executable:Executable -> unit
public function Join(
executable : Executable
)
Parameters
- executable
Type: Microsoft.SqlServer.Dts.Runtime.Executable
The name of the existing TaskHost for the container or task.
Remarks
Use Join when you move a container or task from one container (source) to another (destination). You must remove the object from the source container using Remove before calling Join on the destination.
Examples
The following example creates a Bulk Insert Task and sets some properties. The Bulk Insert Task is then removed from the first package, and added to the second package. The properties set while it was part of the first package remain unchanged.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
namespace Executables_API
{
class Program
{
static void Main(string[] args)
{
// Create the package and add the BulkInsertTask.
Package pkg = new Package();
Executable exec = pkg.Executables.Add("STOCK:BulkInsertTask");
TaskHost myTask = exec as TaskHost;
BulkInsertTask myBI = myTask.InnerObject as BulkInsertTask;
myBI.DebugMode= false;
myBI.CheckConstraints = false;
myBI.KeepIdentity = true;
// Obtain the collection.
Executables pgkExecs = pkg.Executables;
// Show the number of executables in the collection.
Console.WriteLine("The first package contains {0} executables", pgkExecs.Count);
// It is a requirement to Remove the task from the
// existing package before adding it to the new package.
pkg.Executables.Remove(0);
// Show the number of executables in the collection afterwards.
Console.WriteLine("The first package now contains {0} executables", pgkExecs.Count);
Package pkg2 = new Package();
Executables p2Execs = pkg2.Executables;
// Show the number of executables in the second collection.
Console.WriteLine("The second package initially contains {0} executables", p2Execs.Count);
// Join the task from pkg to pkg2.
pkg2.Executables.Join(myTask);
// Show the number of executables in the second collection after Join.
Console.WriteLine("The second package now contains {0} executables", p2Execs.Count);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Namespace Executables_API
Class Program
Shared Sub Main(ByVal args() As String)
' Create the package and add the BulkInsertTask.
Dim pkg As Package = New Package()
Dim exec As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
Dim myTask As TaskHost = exec as TaskHost
Dim myBI As BulkInsertTask = myTask.InnerObject as BulkInsertTask
myBI.DebugMode= False
myBI.CheckConstraints = False
myBI.KeepIdentity = True
' Obtain the collection.
Dim pgkExecs As Executables = pkg.Executables
' Show the number of executables in the collection.
Console.WriteLine("The first package contains {0} executables", pgkExecs.Count)
' It is a requirement to Remove the task from the
' existing package before adding it to the new package.
pkg.Executables.Remove(0)
' Show the number of executables in the collection afterwards.
Console.WriteLine("The first package now contains {0} executables", pgkExecs.Count)
Dim pkg2 As Package = New Package()
Dim p2Execs As Executables = pkg2.Executables
' Show the number of executables in the second collection.
Console.WriteLine("The second package initially contains {0} executables", p2Execs.Count)
' Join the task from pkg to pkg2.
pkg2.Executables.Join(myTask)
' Show the number of executables in the second collection after Join.
Console.WriteLine("The second package now contains {0} executables", p2Execs.Count)
End Sub
End Class
End Namespace
Sample Output:
The first package contains 1 executables
The first package now contains 0 executables
The second package initially contains 0 executables
The second package now contains 1 executables