MainPipeClass Class

Adds and connects components in a data flow layout.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Dts.Pipeline.Wrapper.MainPipeClass

Namespace:  Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly:  Microsoft.SqlServer.DTSPipelineWrap (in Microsoft.SqlServer.DTSPipelineWrap.dll)

Syntax

'Declaration
<ClassInterfaceAttribute(ClassInterfaceType.None)> _
<GuidAttribute("5918251B-2970-45A4-AB5F-01C3C588FE5A")> _
Public Class MainPipeClass _
    Implements IDTSPipeline100, MainPipe, IDTSObjectModel100
'Usage
Dim instance As MainPipeClass
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[GuidAttribute("5918251B-2970-45A4-AB5F-01C3C588FE5A")]
public class MainPipeClass : IDTSPipeline100, 
    MainPipe, IDTSObjectModel100
[ClassInterfaceAttribute(ClassInterfaceType::None)]
[GuidAttribute(L"5918251B-2970-45A4-AB5F-01C3C588FE5A")]
public ref class MainPipeClass : IDTSPipeline100, 
    MainPipe, IDTSObjectModel100
[<ClassInterfaceAttribute(ClassInterfaceType.None)>]
[<GuidAttribute("5918251B-2970-45A4-AB5F-01C3C588FE5A")>]
type MainPipeClass =  
    class 
        interface IDTSPipeline100 
        interface MainPipe 
        interface IDTSObjectModel100 
    end
public class MainPipeClass implements IDTSPipeline100, MainPipe, IDTSObjectModel100

The MainPipeClass type exposes the following members.

Constructors

  Name Description
Public method MainPipeClass Initializes a new instance of the MainPipeClass.

Top

Properties

  Name Description
Public property AutoGenerateIDForNewObjects Gets or sets a value that specifies whether a data flow automatically generates and sets the ID property for newly created objects.
Public property BLOBTempStoragePath Gets or sets a value that specifies the file system location where binary large objects (BLOBs) are temporarily written to disk.
Public property BufferManager Gets the buffer manager for the main pipe.
Public property BufferTempStoragePath Gets or sets the file system path used to temporarily cache buffer data.
Public property ComponentMetaDataCollection Gets the collection of data flow components in the task.
Public property DefaultBufferMaxRows Gets or sets the maximum number of rows the task allows in an IDTSBuffer100 buffer.
Public property DefaultBufferSize Gets or sets the default size of the IDTSBuffer100 objects created by a task.
Public property EnableCacheUpdate Gets or sets a value that indicates whether the data flow task enables cache updates.
Public property EnableDisconnectedColumns Gets or sets a value that indicates whether the task enables disconnected columns.
Public property EngineThreads Gets or sets the number of threads a data flow task uses.
Public property Events Sets the events interface that a data flow, and the components it contains, use to raise events during execution.
Public property IDTSObjectModel100_AutoGenerateIDForNewObjects Gets or sets a value that specifies whether a data flow automatically generates and sets the ID property for newly created objects.
Public property IDTSObjectModel100_ComponentMetaDataCollection Gets the collection of data flow components in the task.
Public property IDTSObjectModel100_EnableCacheUpdate Gets or sets a value that indicates whether the data flow task enables the cache updates.
Public property IDTSObjectModel100_EnableDisconnectedColumns Gets or sets a value that indicates whether the data flow task enables the disconnected columns in the main pipe.
Public property IDTSObjectModel100_IsSavingXml Gets or sets a value that indicates the data flow task saves in Xml format.
Public property IDTSObjectModel100_PathCollection Gets the IDTSPathCollection100 collection for a data flow task.
Public property IsSavingXml Gets or sets a value that indicates whether the task saves in Xml format.
Public property PathCollection Gets the IDTSPathCollection100 collection for a data flow task.
Public property PersistenceCustomPropertyCollection Gets the persistence format of the data flow task's custom property collection.
Public property RunInOptimizedMode Gets or sets a value that specifies whether a data flow task runs in optimized mode.
Public property VariableDispenser Sets the IDTSVariableDispenser100 used to lock variables in a package for reading and writing.

Top

Methods

  Name Description
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetNextPasteID Gets the next available ID that a data flow task generates.
Public method GetObjectByID Retrieves an object contained in a data flow task.
Public method GetType (Inherited from Object.)
Public method IDTSObjectModel100_GetObjectByID Retrieves an object that is contained in a data flow task.
Public method IDTSObjectModel100_New Resets the layout of components in a data flow task.
Public method IDTSObjectModel100_UpdateCacheOnInputColumns Sets the data flow task to update the cache from previous version.
Protected method MemberwiseClone (Inherited from Object.)
Public method New Infrastructure. Creates a new instance of MainPipeClass.
Public method ToString (Inherited from Object.)
Public method UpdateCacheOnInputColumns Sets the cache to upgrade from previous version.

Top

Remarks

This class represents the data flow task, and is used when programmatically building a data flow layout. An instance of the class is created by adding the data flow task to the Executables collection of a Package. Components are added to the task using the ComponentMetaDataCollection property. Connections are established between components using the PathCollection property.

Examples

The following code example adds a data flow task to a package, adds an OLE DB source component and an OLE DB destination component, and establishes a path between the two components.

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)
        {
            // Create the package.
            Package p = new Package();

            // Add the data flow task.
            MainPipe mp = ((TaskHost)p.Executables.Add("DTS.Pipeline")).InnerObject as MainPipe;

            // Add the OLE DB source component.
            IDTSComponentMetaData100 mdOleDbSrc = mp.ComponentMetaDataCollection.New();
            mdOleDbSrc.ComponentClassID = "DTSAdapter.OleDbSource";
            mdOleDbSrc.Name = "OLEDB Source";
            CManagedComponentWrapper wrpOledbSrc = mdOleDbSrc.Instantiate();

            // Add the OLE DB destination component.
            IDTSComponentMetaData100 mdOleDbDest = mp.ComponentMetaDataCollection.New();
            mdOleDbDest.ComponentClassID = "DTSAdapter.OleDbDestination";
            mdOleDbDest.Name = "OLEDB Destination";
            CManagedComponentWrapper wrpOledbDest = mdOleDbSrc.Instantiate();

            // Create a path and attach the output of the source to the input of the destination.
            IDTSPath100 path = mp.PathCollection.New();
            path.AttachPathAndPropagateNotifications(mdOleDbSrc.OutputCollection[0], mdOleDbDest.InputCollection[0]);
        }
    }
}
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 mdOleDbSrc As IDTSComponentMetaData100 = mp.ComponentMetaDataCollection.New 
     mdOleDbSrc.ComponentClassID = "DTSAdapter.OleDbSource" 
     mdOleDbSrc.Name = "OLEDB Source" 
     Dim wrpOledbSrc As CManagedComponentWrapper = mdOleDbSrc.Instantiate 
     Dim mdOleDbDest As IDTSComponentMetaData100 = mp.ComponentMetaDataCollection.New 
     mdOleDbDest.ComponentClassID = "DTSAdapter.OleDbDestination" 
     mdOleDbDest.Name = "OLEDB Destination" 
     Dim wrpOledbDest As CManagedComponentWrapper = mdOleDbSrc.Instantiate 
     Dim path As IDTSPath100 = mp.PathCollection.New 
     path.AttachPathAndPropagateNotifications(mdOleDbSrc.OutputCollection(0), mdOleDbDest.InputCollection(0)) 
   End Sub 
 End Class 
End Namespace

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace