blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

SSIS Junkie

Conchango are busy and need talented consultants in and around London. Interested? Email me or send me a message

SSIS: Obscure bug when developing custom components.

I've found a bug in SSIS today (confirmed by Bob Bojanic from the SSIS team) but it shouldn't have any cause for alarm. Its a very obscure circumstance that causes it and isn't too much of a problem either. However, I thought it would be useful to share the details in case anyone else runs into it. If you never develop custom components in SSIS then read no further.

Put simply, if you are developing a component that has no editor then its possible for that component to appear invalid and the normal method of fixing it doesn't work.

Firstly, here's how you specify that a transformation component doesn't have an editor:

[DtsPipelineComponent(
    DisplayName="MyComponent",
    Description="Does something",
    ComponentType=ComponentType.Transform,
    NoEditor=true,
    IconResource="MyComponentIcon.ico"
    )
]

Typically a component that doesn't have an editor will derive its metadata from its input(s) during a call to ReinitialiseMetadata() and if the metadata of an input changes then the component will fail validation and the Validate() method will (probably) return VS_NEEDSNEWMETADATA. This will trigger a call to ReinitialiseMetadata() and the next time that the package developer opens the editor Validate() will be called .HOWEVER, if the component has no editor then Validate() will never get called and the component will appear invalid in the package designer even though it is not. The bug is basically that under these circumstances Validate() will never get called without abnormal user intervention (such as detaching and reattaching the input).

Follow all that? Probably not, so to make it easy you can just watch this video that I recorded for Bob in order to demonstrate the problem (the video may not display in some blog readers):

 

The fidelity isn't very good once its uploaded to YouTube so instead you could download the video from my Skydrive:

 

I have raised a bug for this here: https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=296829

My thanks to Bob for helping me out with the investigation.

-Jamie

This blog entry was authored in Live Writer where I leveraged the Skydrive Embed plug-in.

Published 05 September 2007 21:26 by jamie.thomson

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

SSIS Junkie said:

Scene Setting Its a common scenario when doing data integration that one has to process datasets containing

September 7, 2007 20:25

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

News

Powered by Community Server (Personal Edition), by Telligent Systems