This project has moved. For the latest updates, please go here.

The version of Multiple Hash 1 is not compatible with this version of the DataFlow

Aug 6, 2015 at 9:47 AM
Edited Aug 6, 2015 at 9:50 AM
Hi,

I've inherited some SSIS packages (developers long gone sadly) that make use of the Multiple Hash component. I'm in the process of migrating these packages to a newer SSIS server. When running the SSIS package (via SQL Agent job) on new SSIS server I'm getting errors as such:

Message
Executed as user: XXXX. ...058.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 4:02:42 PM Error: 2015-08-06 16:02:43.04 Code: 0xC0047062 Source: Import Plant Import Plant (Multiple Hash 1 [378]) Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of Multiple Hash 1 is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-08-06 16:02:43.04 Code: 0xC004801F Source: Import Plant Import Plant (SSIS.Pipeline) Description: The component metadata for "Multiple Hash 1" could not be upgraded to the newer version of the component. The PerformUpgrade method failed. End Error Error: 2015-08-06 16:02:43.07 Code: 0xC0047062 Source: Import Plant Group Import Plant Group (Multiple Hash 1 [130]) Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of Multiple Hash 1 is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-08-06 16:02:43.07 Code: 0xC004801F Source: Import Plant Group Import Plant Group (SSIS.Pipeline) Description: The component metadata for "Multiple Hash 1" could not be upgraded to the newer version of the component. The PerformUpgrade method failed. End Error Error: 2015-08-06 16:02:43.09 Code: 0xC0047062 Source: Import Plant Sub Group Import Plant Sub Group (Multiple Hash [145]) Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of Multiple Hash is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-08-06 16:02:43.09 Code: 0xC004801F Source: Import Plant Sub Group Import Plant Sub Group (SSIS.Pipeline) Description: The component metadata for "Multiple Hash" could not be upgraded to the newer version of the component. The PerformUpgrade method failed. End Error Error: 2015-08-06 16:02:43.13 Code: 0xC0047062 Source: Import Suppliers Import Suppliers (Multiple Hash [140]) Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of Multiple Hash is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-08-06 16:02:43.13 Code: 0xC004801F Source: Import Suppliers Import Suppliers (SSIS.Pipeline) Description: The component metadata for "Multiple Hash" could not be upgraded to the newer version of the component. The Perfor... The package execution fa... The step failed.

Old SSIS server details (currently works)
  • SQL Install: SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
  • Multiple Hash versions: 2008 V1.2.1 & 2008 V1.6.1
New SSIS server details (where I get the error):
  • SQL Install: SQL Server 2012 - 11.0.5058.0 (X64)
  • Multiple Hash versions: 2008 V1.2.1 & 2008 V1.6.1. Also tried previously with V1.6.3.4
I have ensured any packages using the Multiple Hash component work on my local PC using Visual Studio 2008 (and Multiple Hash V1.6.4.3 (also tried by uninstalling latest version and installing older versions)... When I deploy version from local pc to new SSIS server, I get error (as per above).

I have also exported a copy of the SSIS package from the old server, and imported it to the new server (so my VS didn't possibly make changes to package). When job executes and calls SSIS package (on new server), I get the same error (as per above).

So clearly a version thing, but I'm lost. Is the exception actually referring to the SQL version or is it because of the Multiple Hash version on SSIS server?

Hoping someone can lead me down the right path please
Coordinator
Aug 7, 2015 at 12:47 AM
I just love Microsoft error messages :-(

The message "The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC" means:

You have created/edited the package with a version of Multiple Hash that is HIGHER than the one that you are attempting to execute on.

I recommend uninstalling MultipleHash from your server (both versions 1.2 and 1.6), as it's probable that the 1.2 version is interfering with the 1.6 version. Then install only V1.6.3.4. The versions are backwards compatible, and will auto upgrade an SSIS package created from 1.2 to 1.6 on each execution.


Technical Detail:

There is a version string inside the DTSX file, which Multiple Hash uses to determine the version of the component that was used to create the DTSX file.
It can be found be searching for "Martin.SQLServer.Dts.MultipleHash" in the DTSX file, and then moving up though the XML to the component element. There will be an attribute at that level called version.

1.2 => version="2"
1.3 => version="3"
1.4 => version="4"
1.5 => version="5"
1.6 => version="6"
1.7 will be version="7", but I haven't released that yet...

Keith
Marked as answer by kmartin on 7/21/2016 at 5:41 AM
Aug 7, 2015 at 7:08 AM
Hi Keith,

Thanks so much for getting back.

The original setup on the new server had V1.6.3.4 (and nothing else). Which is when I discovered my error. Also checked the version in the packages and they were using version 6 (V1.6 in this case). This was the same regardless of whether I edited the package in VS on my local machine (I have 1.6.3.4) and deployed, or if I exported the working package on the old server (V1.2.1 & V1.6.1) and deployed that to the new server. Also tried again by deploying to the new server with; just V1.6, then trying again with V1.2 & V1.6 (as this is what's on the old server where it's working). Just weird how it didn't work. Anyhooo...

Even though my setup had 1.6.3.4 originally, I took your advice and uninstalled all versions from the new server. I then downloaded V1.6.3.4 again and installed it, I'm no longer getting the error! Success!! Gotta love computers!! :-)

Thanks again for your help