Developer's Guide (Integration Services)

Integration Services includes a completely rewritten object model, which has been enhanced with many features that make extending and programming packages easier, more flexible, and more powerful. Developers can extend and program almost every aspect of Integration Services packages.

As an Integration Services developer, there are two fundamental approaches that you can take to Integration Services programming:

You can extend packages by writing components that become available within SSIS Designer to provide custom functionality in a package.

You can create, configure, and run packages programmatically from your own applications.

If you find that the built-in components in Integration Services do not meet your requirements, you can extend the power of Integration Services by coding your own extensions. In this approach, you have two discrete options:

For ad hoc use in a single package, you can create a custom task by writing code in the Script task, or a custom data flow component by writing code in the Script component, which you can configure as a source, transformation, or destination. These powerful wrappers write the infrastructure code for you and let you focus exclusively on developing your custom functionality; however, they are not easily reusable elsewhere.

For use in multiple packages, you can create custom Integration Services extensions such as connection managers, tasks, enumerators, log providers, and data flow components. The managed Integration Services object model contains base classes that provide a starting point and make developing custom extensions easier than ever.

If you want to create packages dynamically, or to manage and run Integration Services packages outside the development environment, you can manipulate packages programmatically. You can load, modify, and run existing packages, or you can create and run entirely new packages programmatically. In this approach, you have a continuous range of options:

Load and run an existing package without modification.

Load an existing package, reconfigure it (for example, specify a different data source), and run it.

Create a new package, add and configure components, making changes object by object and property by property, save it, and then run it.

These approaches to Integration Services programming are described in this section and demonstrated with examples.