MainPipeClass.GetNextPasteID Method
Gets the next available ID that a data flow task generates.
Namespace: Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly: Microsoft.SqlServer.DTSPipelineWrap (in microsoft.sqlserver.dtspipelinewrap.dll)
Syntax
'Declaration
<DispIdAttribute(126)> _
Public Overridable Function GetNextPasteID As Integer Implements IDTSPipeline90.GetNextPasteID
[DispIdAttribute(126)]
public virtual int IDTSPipeline90.GetNextPasteID ()
[DispIdAttribute(126)]
public:
virtual int GetNextPasteID () = IDTSPipeline90::GetNextPasteID
J# supports the use of explicit interface implementations, but not the declaration of new ones.
JScript supports the use of explicit interface implementations, but not the declarations of new ones.
Return Value
The next available unique ID in the data flow layout.
Remarks
The data flow task generates object IDs in sequence. This method retrieves the next available unique ID and increments.
Example
The following code example demonstrates the sequential creation of IDs assigned to data flow objects.
using System;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
namespace Microsoft.Samples.SqlServer.Dts
{
public class Class1
{
public static void Main(string []args)
{
Package p = new Package();
MainPipe mp = ((TaskHost)p.Executables.Add("DTS.Pipeline")).InnerObject as MainPipe;
for(int x=0; x<10; x++)
{
Console.WriteLine("NextPasteID: " + mp.GetNextPasteID());
Console.WriteLine("MetaDataID: " + mp. ComponentMetaDataCollection.New().ID);
}
}
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Namespace Microsoft.Samples.SqlServer.Dts
Public Class Class1
Public Shared Sub Main(ByVal args As String())
Dim p As Package = New Package
Dim mp As MainPipe = CType(CType(p.Executables.Add("DTS.Pipeline"), TaskHost).InnerObject, MainPipe)
Dim x As Integer = 0
While x < 10
Console.WriteLine("NextPasteID: " + mp.GetNextPasteID)
Console.WriteLine("MetaDataID: " + mp.ComponentMetaDataCollection.New.ID)
System.Math.Min(System.Threading.Interlocked.Increment(x),x-1)
End While
End Sub
End Class
End Namespace
The above code generates the following output.
NextPasteID: 1
MetaDataID: 2
NextPasteID: 3
MetaDataID: 4
NextPasteID: 5
MetaDataID: 6
NextPasteID: 7
MetaDataID: 8
NextPasteID: 9
MetaDataID: 10
NextPasteID: 11
MetaDataID: 12
NextPasteID: 13
MetaDataID: 14
NextPasteID: 15
MetaDataID: 16
NextPasteID: 17
MetaDataID: 18
NextPasteID: 19
MetaDataID: 20
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.
Target Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.
See Also
Reference
MainPipeClass Class
MainPipeClass Members
Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace