tags:

views:

54

answers:

1

I have a job created to run a SSIS package. I had problems with package security for a while, but managed to set the package password correctly and that error disappeared. This next error was not occurring last night, but today I can't seem to get rid of it. If I run the package independently via BIDS or by connecting to my Integration Services it runs successfully.

Any ideas what would cause this error when it is run as a job, but not when run as a package?

Date        7/7/2010 2:10:59 PM
Log     Job History (Identipass Data Transfer)

Step ID     1
Server      BETTY
Job Name        Identipass Data Transfer
Step Name       SSIS Transfer Data
Duration        00:00:02
Sql Severity        0
Sql Message ID      0
Operator Emailed        
Operator Net sent       
Operator Paged      
Retries Attempted       0

Message
Executed as user: AD\theusername. 
Microsoft (R) SQL Server Execute Package Utility  
Version 10.0.2531.0 for 64-bit  
Copyright (C) Microsoft Corp 1984-2005. All rights reserved.    
Started:  2:10:59 PM  

Error: 2010-07-07 14:10:59.44     
Code: 0xC0047062     
Source: Data Flow Task Data Flow Task (ADO NET Destination [40])     
Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: 
The version of component "ADO NET Destination" (40) 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: 2010-07-07 14:10:59.44     
Code: 0xC004801F     
Source: Data Flow Task Data Flow Task (SSIS.Pipeline)     
Description: The component metadata for "component "ADO NET Destination" (40)" could not be upgraded to the newer version of the component. 
The PerformUpgrade method failed.  
End Error  

Error: 2010-07-07 14:10:59.46     
Code: 0xC004801F     
Source: Data Flow Task SSIS.Pipeline     
Description: The component metadata for "component "ADO NET Destination" (40)" could not be upgraded to the newer version of the component. 
The PerformUpgrade method failed.  
End Error  

Error: 2010-07-07 14:10:59.54     
Code: 0xC0048021     
Source: Data Flow Task ADO NET Destination [40]     
Description: The component is missing, not registered, not upgradeable, or missing required interfaces. 
The contact information for this component is "Writes to a database using ADO.NET provider.;
Microsoft Corporation; Microsoft SqlServer v10; ? 
2007 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;1".  
End Error  

Error: 2010-07-07 14:10:59.54     
Code: 0xC0047017     
Source: Data Flow Task SSIS.Pipeline     
Description: component "ADO NET Destination" (40) failed validation and returned error code 0xC0048021.  
End Error  

Error: 2010-07-07 14:10:59.54     
Code: 0xC004700C     
Source: Data Flow Task SSIS.Pipeline     
Description: One or more component failed validation.  
End Error  

Error: 2010-07-07 14:10:59.54     
Code: 0xC0024107     
Source: Data Flow Task      
Description: There were errors during task validation.  
End Error  

DTExec: The package execution returned DTSER_FAILURE (1).  

Started:  2:10:59 PM  
Finished: 2:10:59 PM  
Elapsed:  0.422 seconds.  
The package execution failed.  
The step failed.
+2  A: 

A ComponentVersionMismatchException is being thrown here. The other errors are from SSIS trying to upgrade the metadata for the ADO.NET Destination component so that it's compatible with the version on the server. The message says this as well:

The version of component "ADO NET Destination" (40) 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.]]

When you execute a package as a job, it is executed on the server machine. When you execute a package through BIDS, it is executed locally on your machine. You'll need to ensure that the versions of SQL Server on your local machine and the server match. To see the version information, you can execute the following from Management Studio:

SELECT  SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
Jack Leitch
Hey Jack,Thanks for the response. The result of the query are "10.0.2531.0 SP1 Enterprise Edition (64-bit)".I guess I have two questions from this:1) How does that help me know what version of ... whatever, I am running on my local machine.2) If I connect to integrated services via SSMS I can execute the package and it completes successfully. Wouldn't that be executing the package on the server?
Andrew Vogel
I checked and the SQL server is running SQL Server 2008. My local box is running BIDS for SQL Server 2008 R2. I'll roll my local box back to 2008 and see if that solves it.
Andrew Vogel
I verified that the ADO.NET component was running the same version on my PC as well as the server. My coworker, using the same versions, also did not have a problem.To resolve this for now, I created OLE DB connectors instead which seem to work for now.
Andrew Vogel

related questions