Steps to Build and Deploy Custom SSIS Components

 Steps to Build and Deploy Custom SSIS Components CodePlex

 

This post explains the steps required to build and deploy custom SSIS components. For the purpose of illustration, the Custom SSIS Data Flow Component – Credit Card Number Validator is used.

Step 1 – Create Strong Name Key (SNK) for the Assembly

 

 From Visual Studio, open the Class Library of your Custom SSIS Component. Navigate to Project→Properties from toolbar

 

Figure 1 - Project Properties
Figure 1 – Project Properties

 

Navigate to the Signing tab and Select the options as shown in Figure 2.

Figure 2 - Sign Assembly
Figure 2 – Sign Assembly

Enter a Strong Name Key (SNK) file as shown in Figure 3. Protect it with a password (optional).

Figure 3- Strong Name Key (SNK)
Figure 3- Strong Name Key (SNK)

 

Step 2 – Build the Assembly

 

Step 3 – Deploy the Assembly to SSIS Folder

 

The SSIS Designer locates the custom objects available for use in packages by enumerating the files found in a series of folders located under C:\Program Files\Microsoft SQL Server\90\DTS\. If your default SQL Server Installation uses a different path, then use the registry key HKLM\SOFTWARE\Microsoft\MSDTS\Setup\DtsPath to locate this folder.

Copy the Assembly from \bin folder to the appropriate sub-folder.  The assembly for Data Flow Components like Credit Card Number Validator is copied to the sub-folder PipelineComponents. Overwrite the Assembly if it already exists.

Step 4 – Install the Assembly to Global Assembly Cache (GAC)

 

Navigate to %system%\assembly folder . It’s usually C:\Windows\Assembly. Drag and Drop the Assembly from \bin folder to %system%\assembly folder. If the assembly already exists, right-click and uninstall existing assembly and then install the new version.

IMPORTANT:  You must close and reopen SSIS Designer after you install a new version of your custom object.

Step 5 – Adding the Custom Component to the Toolbox

 

Now comes the best part where you can see your custom component in action. From BIDS, open any SSIS project.

Right-click the toolbox and then click Choose Items (Figure 4).

 

 

Figure 4- Choose Items

Figure 4- Choose Items

 In the Choose Toolbox Items dialog box, click the Data Flow Items and Select your custom component (Figure 5), in this case Credit Card Number Validator 

 

Figure 6-  Toolbox Showing Credit Card Number Validator

Figure 6- Toolbox Showing Credit Card Number Validator

Now your toolbar displays your Custom SSIS Data Flow Component (Figure 6).

 Your Custom SSIS Component is now ready for Action.

 

Benny Austin

6 Responses to “Steps to Build and Deploy Custom SSIS Components”

  1. Custom SSIS Data Flow Component – Credit Card Number Validator « Benny Austin Says:

    [...] With the Design-time Methods complete, it’s a good time to build and deploy the Credit Card Number Validator component. At this point the component’s functionality is not available, because the Run-time methods are yet to be implemented. Still this provides an opportunity to test the component’s interfaces. Steps to Build and Deploy Custom SSIS Component. [...]

  2. Debugging Custom SSIS Components « Benny Austin Says:

    [...] 1. Ensure that your Custom SSIS Component is deployed and available to BIDS. Steps to Deploy Custom SSIS Component. [...]

  3. bennyaustin Says:

    Source Code and Assembly for Credit Card Number Validator can be downloaded from CodePlex http://ccnv05.codeplex.com/

  4. Roger Says:

    When I attempt to build the application, I receive the following error,

    Error 1 The type or namespace name ‘IDTSOutputColumn90′ could not be found (are you missing a using directive or an assembly reference?) C:\Workspace\ConvertMigrateFromDCTtoSSIS\CCNV05-0908Aug-R1\CCNV05-0908Aug-R1\CreditCardValidator\CreditCardValidator\CCNValidator.cs 167 24 CreditCardNumberValidator

    I have added the reference for microsoft.sqlserver.dtspipelinewrap.dll.

    Do you have any suggestions?

    TIA.

    • bennyaustin Says:

      Roger, pls add reference to Microsoft.SQLServer.DTSRuntimeWrap.dll and Microsoft.SqlServer.PipelineHost.dll in addition to Microsoft.SqlServer.DTSPipelineWrap.dll. Let me know if that works. Thanks


Leave a Reply