Share via


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