Monday 21 September 2009

Running SSIS 2005 Packages Under SSIS 2008

Today I tried to run some SSIS 2005 packages on a machine with only SSIS 2008. I used dtexec.exe from the command line to run them. As it was starting with the first one, I could see some messages about the provider reference being changed from SQLNCLI.1 to SQLNCLI10.

This was quite normal, I thought, as SSIS 2008 was just performing on-the-fly upgrade of the packages to 2008 format before running it. However, as the actual execution started, it failed with an error about SQLNCLI.1 not being registered.

That was odd. Didn't SSIS (dtexec.exe) just tell me that it had upgrade the SQLNCLI.1 references to SQLNCLI10?

After a bit of head-scratching and fiddling, I realised that the problems was in my configuration files. I am using indirect XML configurations for these packages. The configuration files had the complete connection strings, including the Provider, which still referred to SQLNCLI.1.

Once I updated the configuration files to use SQLNCLI10.1, all the packages ran without problems.