I’m working on an SSIS package that FTPs files from heterogeneous sources to Windows servers. I currently have three types of servers in the mix: Windows, Unix, and iSeries. When I first started this phase of the project, I tested the SSIS FTP Task and it worked well… on two out of three.
Hope Floats (or at least Ints…)
Due to some external requirements, the solution was to implement a custom FTP class in script.
The Script Task and Script Component are two of the most powerful features of SSIS – and SSIS scripting is about to get even better. SSIS 2005 uses Visual Studio for Applications (VSA), while SQL Server 2008 integrated Visual Studio Tools for Applications (VSTA).
SSIS Giveth and SSIS Taketh Away
Now you can code in C#. I found the ScriptLanguage property dropdown a cruel joke for developers wanting to select something other than the default Microsoft Visual Basic .Net. It’s a dropdown after all. But alas, there was but a single option. That’s changed in SSIS 2008. Yay.
As with everything is life, there’s a trade-off here.
Existing Scripts will need to migrate from VSA to VSTA. The more complicated the script (like say, a custom FTP class, hypothetically…), the more manual conversion will be required.
Being a good consultant who doesn’t want my code to expire when my client upgrades to SQL Server 2008, I’ve been upgrading the class in CTP6 on my own time (also respecting the fact they’re not paying me to fix things that aren’t broken – yet). It’s been fun so far.
Lesson learned: There is no free lunch.
SSIS 2008 Is Cool
Make no mistake: SSIS 2008 has some awesome new features. The discomfort of converting the script is well worth full access to the .Net Framework.
When you begin converting you will want to know about this link: Migrating Scripts to VSTA. It’s a good starting place for some of the issues you’ll encounter. For starters, it explains when the actual script conversion takes place (when you open the package).
All in all, this is turning into a learning experience, and I love learning experiences!