Thursday, March 29, 2012

Getting the list of expressions from a package

Does anyone have any ideas on quickly getting a list of all expressions used in a package? For the BIDSHelper add-in (http://www.codeplex.com/bidshelper) we need to get a list of all the expressions used in the package and update the list whenever an expression is added through the IDE. Currently, we are iterating through the package, and checking every property of every task to see if it has an expression. On big packages, this is slow, as you might imagine.

Any suggestions would be appreciated. Maybe one of our MVPs could flag this for Microsoft follow-up, to see if they have any suggestions.

I'd be happy to do that for you.

[Microsoft follow-up]|||

Tasks or components generally are responsible for their own expressions -- there is no central repository. As such, I can't think of any other way to accomplish your goal.

The only potential shortcut I can think of is for components in a dataflow. Instead of iterating through the dataflow, you might be able to just look at the dataflow properties to see all expressionable objects in that dataflow (properties named something like [<component name>].[<object name>].[FriendlyExpression])

Thanks
Mark

|||Is there any event that I could hook into from the IDE to let me know when a task or data flow component has been updated by the user? If that was possible, I could minimize the rescanning of the entire package, by just checking individual tasks.

No comments:

Post a Comment