API reference for built-in SSIS data flow components

Developers who want to create and update SSIS packages programmatically often wonder, "Where the heck is the API reference for all the built-in data flow sources, transformations, and destinations?"

The short answer is: There isn't any.

Why not? Because - at least at design time - an individual data flow component does not have any properties or public methods that are unique. A data flow component has only the properties and methods that it inherits from the base class, PipelineComponent. (Of course, individual components override the methods from the base class to provide custom implementations.) The data flow engine calls these inherited and overridden methods at runtime. So it would not even be useful to add public properties or methods to a custom data flow component - they would never be called.

However, individual data flow components have unique custom properties that are added to the component at run time, when the data flow engine calls the component's implementation of the inherited ProvideComponentProperties method. The component developer writes code to add an IDtsCustomProperty100 to the CustomPropertyCollection of the component's ComponentMetadata.

The API reference that you see in SQL Server Books Online (BOL) and in the MSDN Library is partially generated by reflection against the assemblies that comprise the SSIS product and its SDK. Since reflection is never going to find the runtime custom properties of data flow components, we listed these custom properties in separate Help topics in the Technical Reference section: Data Flow Properties Reference. In addition to pages for Sources, Transformations, and Destinations, you'll find the properties that are common to all components, the properties of data flow Paths, and a useful page that lists Data Flow Properties that Can Be Set by Using Expressions.

For a little more information about the assignment of custom properties at run time, see Design-time Methods of a Data Flow Component.

Comments on my blog are disabled, but you can send me email.

If you need technical support, you'll do far better by consulting thousands of other SSIS users in the SSIS forum at

If you'd like to comment on my blog, please don't hesitate to email dougbert at

On Twitter, I am dougbertMS. I'm also on Facebook as Douglas Laudenschlager, but I use Facebook mostly for non-technical purposes. Thank you for following me!