SSIS Components: The PerformUpgrade Method Failed
In this entry, you will find resolutions for the SSIS PerformUpgrade error.
Date Entered: 3/13/2020 Last Updated: 3/13/2020 Author: Andrew Gill
The error PerformUpgrade method failed is most often caused by a mismatch between the targeted version of SQL Server and the installed CData assemblies used.
Step 1: Note your Package's Targeted SQL Server Version
Begin by opening Visual Studio and checking the version of SQL Server targeted by the package.
- Right-click your project in the solution explorer and select Properties.
- From the project properties window, select Configuration Properties.
- Select the General section. Note the TargetServerVersion under Deployment Target Version.
Step 2: Note your Installed Assemblies
The CData SSIS components offer several different assemblies made to target a variety of different SQL Server versions.
When installing the CData SSIS components, available versions of SQL Server are detected on that specific machine, and the user is given a choice of which assemblies they would like to install.
You can verify which assemblies were installed by navigating to the lib folder in your installation directory. By default, this would be C:\Program Files\CData\CData SSIS Components for MyDataSource 20xx.
Each assembly is named following the scheme CData.SSIS2017.MyDataSource.dll.
Note: If deploying the package to another server, check which CData SSIS assemblies are installed on that machine as well.
Step 3: Resolution
Having noted your installed assemblies and targeted the correct SQL Server version, there a few potential causes for the PerformUpgrade error to consider. Their resolutions are provided below.
Scenario 1: Assembly Missing from Server when Deploying Package
If you are deploying the package to another machine and only encounter the error on that machine, pay close attention to assemblies installed on the server.
It may be the case that a different version of SQL Server was detected on the second machine and therefore different assemblies were installed. Or, perhaps the components weren't installed on the server at all.
To resolve this, verify the version of SQL Server the server will be targeting and adjust the project's TargetServerVersion in Visual studio on the first machine to match. Ensure the matching assemblies are installed on both machines, then deploy the package again.
Scenario 2: Executing Application Incompatible with Targeted Assembly
It is also possible to encounter the PerformUpgrade error even when all of the correct assemblies are present on both machines.
Consider the following scenario:
- The CData assemblies for both 2016 and 2017 are installed on all relevant machines.
- The Visual Studio project targets SQL Server 2017.
- The application executing the package (for example, Execute Package Utility or SQL Agent jobs) targets SQL Server 2016.
The PerformUpgrade error would still trigger in this scenario. This is because the application validates by searching for the 2016 assembly. The package and its dependent connection managers point to the 2017 CData assembly, which is unsupported by the application. SSIS invokes the PerformUpgrade method, which can't find the 2016 assembly, resulting in failure.
To resolve this, adjust the TargetServerVersion to match the application which will be executing the package.
We appreciate your feedback. If you have any questions, comments, or suggestions about this entry, please contact our support team at firstname.lastname@example.org.