views:

1971

answers:

3

I have a SSIS master package, which executes several child packages. It works great, but when I deploy it to the file system on the server, I get an error code "0xC00220DE". "The system cannot find the file specified."

When I run the package on the server by double-clicking it, it works correctly. But when I use DTExec:

dtexec /FILE "d:\cmcdx\ssis\MAESTRO_FACTURACION.dtsx"

I get the mentioned error.

The package configuration is correct, and the user I'm executing the package with is administrator of the machine.

Should I deploy the packages to Sql Server? What are the best practices for deploying a master-child package? I'm running out of ideas here...

By the way, I'm running Sql Server 2005 sp3.

+2  A: 

Is the package not getting a path or location value from a package configuration file? If so make sure you include the /ConfigFile argument and the path to the config file. Another thing to possibly check is if you have any connections in the package that refer to mapped network drives, these may not work running under the different service account than your local console account.

[Edit] Try this command line below on the server (notice the double slashes).

dtexec /FILE "d:\\cmcdx\\ssis\\MAESTRO_FACTURACION.dtsx"
James
Thanks for your answer James. All the packages are deployed to the same directory, and I'm not using any configuration file. Also, all the paths are local to the server.
santiiiii
+2  A: 

There are several things that could be going wrong here. You mention that you're using a master package to run several child packages. Are all of your child packages in their proper location on the server as well?

Remember that the paths to the child packages should be variables in your master package so that those values can be changed through a configuration file on the server if need be.

You might also want to check out this set of tutorials on MSDN:

Package Deployment How-To Topics

These tutorials explain how to properly enable package configurations on the server when your package runs.

Justin Niessner
All the packages are deployed to the same location. I'm not using any configuration file since I've set up the connections to the child packages relative to the path of the master. Anyway, if it were a configuration problem, why does the package run properly when I double-click on it?
santiiiii
Because when you double click to run, the package runs as yourself on the machine you're running it from. When you use the command line, the package runs on the server as the SQL Agent user.
Justin Niessner
I suspected that, so I've configured Sql Server Agent to run with my credentials. It doesn't work. Also, when I double click I do it on the server, using terminal server.
santiiiii
+3  A: 

Solved it.

I was using relative paths to point to the child packages, and in runtime SSIS was unable to find them.

In the end I used a specific path, set in a configuration file. Then I used the deployment utility, copied everything to the server, run it by double clicking on the SSISDeploymentManifest file and changed the paths to the proper location.

Thank James and Justin for your answers.

santiiiii