Nov
7
2010

Off topic: Programmatically creating a tag cloud in C#

Today I searched for sample code for creating a tag cloud, for a little project that I have in mind. Assuming that you already have tags (or categories) and a weighting factor, you may find these code samples and user controls interesting. Most of them target Web output, understandably. Not yet sure how much effort would be required to create a Silverlight or XAML tag cloud. Creating a Tag Cloud in C# on geekzilla.co.uk, 2006. Code for an ASP.NET User Control, with formatting provided by CSS. Download li... [More]
Sep
12
2010

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, PipelineCompone... [More]
May
18
2010

Installing a new version of an SSIS custom component

Recently a friend asked for help with the, uh, challenges of cleanly installing a new version or build of a custom component for SQL Server Integration Services (SSIS). Here are the steps: Close BIDS or Visual Studio. Uninstall the old version of the component. Install the new version of the component, including the following steps: Copy the main assembly to the appropriate component folder under the 32-bit Program Files folder. Copy the main assembly to the appropriate component folder under the 6... [More]
Apr
28
2009

HTML Table Destination: An (incomplete) SSIS custom data flow component

I had fun recently creating a custom data flow destination for Integration Services - an HTML Table Destination that writes out the data from the data flow to an HTML file as an HTML table. No applause, please - I copied SSIS developer Matt Masson's code from Codeplex to get started, including his handy helper functions for the tedious stuff like adding custom properties and caching input columns. Plus, it's not rocket science to output tabular data to a well-known text-based markup format. You too could be... [More]
Apr
7
2009

Setting the DataType of IDTSParameterBinding objects (Execute SQL Task)

If you're writing Integration Services code that uses the Execute SQL task, you also have to create parameters programmatically. The ParameterBindings property of the ExecuteSQLTask returns an IDTSParameterBindings collection of IDTSParameterBinding objects, each of which has a DataType property. But the DataType is just an integer. Where do the values come from? Why doesn't it just get its values from an enumeration that's clearly documented? Well, the values for the DataType of an IDTSParameterBinding dep... [More]
Mar
27
2009

Get looped, with your own custom Foreach Enumerator for SSIS

The lack of control flow structures such as looping was one of the main shortcomings of  Data Transformation Services (DTS). If you're nostalgic, just look at the scripting hoops that you had to jump through to loop, by disabling and re-enabling steps in the DTS package. Then Integration Services came along and blessed us with the Foreach Loop Container! Now your package can loop over most of the things you want to, just by selecting the right enumerator and setting properties in the dia... [More]
May
24
2008

Adding a VSTA Script task programmatically (revised)

[UPDATED WITH A BETTER CODE SAMPLE FOR THE 2ND SCENARIO TUE 6/10/08] The move in SQL Server 2008 Integration Services from VSA to VSTA for scripting doesn't just give us C# and a better IDE and Add Reference dialog. It has also made programmatic manipulation of the Script task easier and more supportable. This week I got some sample code from Evgeny Koblov, one of our SSIS testers recently hired from Russia. His English is remarkably good...and makes me ashamed that I'm still confused by the Cyrillic a... [More]