1
votes

How can I upgrade SSIS packages created in SSIS 2014 so that they work in SSIS 2016?

I'm trying to invoke the packages using c# (Package.Execute). My packages have custom script tasks.

I've written redirects like...

<assemblyIdentity name="Microsoft.SqlServer.ManagedDTS" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>

But I still get the error To run a SSIS package outside of SQL Server Data Tools you must install of Integration Services or higher.

2

2 Answers

1
votes

Microsoft Documentation - Understanding the Differences between Local and Remote Execution

You can only run a package outside the development environment on a computer that has Integration Services installed. You cannot run packages outside of SQL Server Data Tools (SSDT) on a client computer that does not have Integration Services installed, and the terms of your SQL Server licensing may not permit you to install Integration Services on additional computers. SQL Server Integration Services is a server component and is not redistributable to client computers. To run packages from a client computer, you need to launch them in a manner that ensures that the packages run on the server.

So, the C# code calling Package.Execute will only work on a machine with SSIS installed.

Please install SSIS on your local development machine to test this code. Or try another method to execute packages remotely.

  • Use SQL Server Agent to run the remote package programmatically
  • Use a Web service or remote component to run the remote package programmatically

Edit: Yes, this makes it hard on developers sometimes. Microsoft wants you to pay for that SSIS license.

0
votes

If you are using SSDT for Visual Studio 2017, you should be able to update the TargetServerVersion option in the properties of the SSIS project.

capture