none
"Package failed validation from the ExecutePackage task" error

    Question

  • I have an SSIS package which calls two other SSIS packages as part of it's control flow (using the Execute Package task). Both packages are stored in the same parent folder on the same server. The first child package runs successfully, the second does not. It ran fine for days until yesterday. Not sure what I might have done. I have tried to delay validation and recreate the connection. No go. Has anyone else run into this. I am running SQL 2005 RTM and VS 2005 RTM on XP Pro SP2. Any suggestions would be welcome.
    Wednesday, February 08, 2006 7:58 PM

Answers

  • OK, I got it to work. The child package goes across the network to another developer's machine to grab data out of a handful of tables and copy them to the same tables in my design database, which is then used, in part, to recreate the development database in the parent package. I tried setting DelayValidation to TRUE for all of the Data Flow Tasks in the child package, but for some reason this did not work. I then tried setting ValidateExternalMetaData to FALSE in the properties of the OLE DB Source within each Data Flow Task. When I did this, it worked. This explains 99% of the errors I received. As far as the 1%, let's just say it's hard to connect to a machine that is rebooting.... Thank you for pointing me in the right direction with regard to looking at the child package and not the parent.

     

     

    Wednesday, February 08, 2006 10:42 PM

All replies

  • Posting the error message (if there is one) in these situations is really useful. Do you have it?

    -Jamie

     

    Wednesday, February 08, 2006 8:30 PM
  • Here you go...

    Executing ExecutePackageTask: \\dc1\development\RAD\SQL2005\SSISPackages\ConverterSynchronization\ConverterSynchronization\bin\ConverterSynchronization.dtsx

    Error: 0xC00220DE at Synchronize Static Values with Converter Data: Error 0xC0012050 while loading package file "\\dc1\development\RAD\SQL2005\SSISPackages\ConverterSynchronization\ConverterSynchronization\bin\ConverterSynchronization.dtsx". Package failed validation from the ExecutePackage task. The package cannot run.

    .

    Task failed: Synchronize Static Values with Converter Data

    Warning: 0x80019002 at ConvertDatabase: The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

    SSIS package "ConvertDatabase.dtsx" finished: Failure.

     

    Wednesday, February 08, 2006 8:38 PM
  • This is *normally* because of the connection strings that you're using in your connection managers.

    A good technique for examining what connection strigs your package is using is documented here: http://blogs.conchango.com/jamiethomson/archive/2005/10/10/2253.aspx

    You'll need to set DelayValidation=TRUE on all your tasks that utilise a connection manager in order for it to work.

    -Jamie

     

    Wednesday, February 08, 2006 9:05 PM
  • The connection manager used in this case is a file connection. Based on your response to Alex at the end of your article the validation process for a file connection probably consists of nothing more than verifying whether or not the path supplied for the manager can be accessed. The file path is valid and the file is where it should be. The package being called runs fine if I execute it by itself. However, when called from the parent package it fails to validate. I am stumped. Any other ideas?
    Wednesday, February 08, 2006 9:26 PM
  • Do you mean the file connection manager used in the parent package to point to the package being executed?

    If yes, you should be aware that that connection manager is not the one that is failing validation - it will be one in the package being called.

    If no, do you mean you only have one connection manager in your child package? What does the package do?

    -Jamie

     

    Wednesday, February 08, 2006 9:32 PM
  • OK, I got it to work. The child package goes across the network to another developer's machine to grab data out of a handful of tables and copy them to the same tables in my design database, which is then used, in part, to recreate the development database in the parent package. I tried setting DelayValidation to TRUE for all of the Data Flow Tasks in the child package, but for some reason this did not work. I then tried setting ValidateExternalMetaData to FALSE in the properties of the OLE DB Source within each Data Flow Task. When I did this, it worked. This explains 99% of the errors I received. As far as the 1%, let's just say it's hard to connect to a machine that is rebooting.... Thank you for pointing me in the right direction with regard to looking at the child package and not the parent.

     

     

    Wednesday, February 08, 2006 10:42 PM
  • Correct,

    set delayvalidation = False when calling a package from a parent.

    Tuesday, January 16, 2007 5:59 PM
  • Very cursious to know :

     

    i have two very simple packages (parent and child) with parent calling into child package using ExecutePackage task.  If I configure child package's DelayValidation property to be true for CHILD package, it throw error as follows:

     

    Error: Error 0xC0012050 while loading package file "C:\000\Integration Services Project1\Integration Services Project1\child.dtsx". Package failed validation from the ExecutePackage task. The package cannot run. .

     

    My testing indicates that parent packages works fine no matter whetehr DelayValidation is true or false.

     

    My question is:

     

      1)  Why the parent package always fails if child package set the DelayValidation property to be true ?

       2)  Does child package inherits the property of DelayValidation from package package (or ExecuteTask) ?

       3)  Is this the intended feature by by MS SSIS team  ?

     

    Can any SSIS guru answer this please ?

    Thursday, June 07, 2007 4:43 PM