我有一个SSIS主包,它执行多个子包。它工作得很好,但是当我将它部署到服务器上的文件系统时,我得到一个错误代码“0xC00220DE”。 “系统无法找到指定的文件。”
当我通过双击它在服务器上运行包时,它可以正常工作。但是当我使用DTExec时:
dtexec /FILE "d:\cmcdx\ssis\MAESTRO_FACTURACION.dtsx"
我得到了上面提到的错误。
程序包配置正确,我正在执行程序包的用户是计算机的管理员。
我应该将软件包部署到Sql Server吗?部署主子包的最佳实践是什么?我这里的想法已经不多了......
顺便说一句,我正在运行Sql Server 2005 sp3。
答案 0 :(得分:4)
解决了它。
我使用相对路径指向子包,在运行时SSIS无法找到它们。
最后,我使用了一个特定的路径,在配置文件中设置。然后我使用部署实用程序,将所有内容复制到服务器,通过双击SSISDeploymentManifest文件并将路径更改为正确的位置来运行它。
感谢James和Justin的回答。
答案 1 :(得分:2)
包是否未从包配置文件中获取路径或位置值?如果是这样,请确保包含/ ConfigFile参数和配置文件的路径。可能检查的另一件事是,如果包中有任何引用映射网络驱动器的连接,这些连接可能无法在与本地控制台帐户不同的服务帐户下运行。
[编辑] 在服务器上尝试下面的命令行(注意双斜杠)。
dtexec /FILE "d:\\cmcdx\\ssis\\MAESTRO_FACTURACION.dtsx"
答案 2 :(得分:2)
这里有几件事可能会出错。您提到您正在使用主程序包来运行多个子程序包。您的所有子包都在服务器上的适当位置吗?
请记住,子包的路径应该是主包中的变量,以便在需要时可以通过服务器上的配置文件更改这些值。
您可能还想查看MSDN上的这组教程:
Package Deployment How-To Topics
这些教程介绍了如何在程序包运行时在服务器上正确启用程序包配置。