SSIS执行进程调用dtexec.exe失败

时间:2017-10-03 20:10:48

标签: ssis

我正在尝试设置一个SSIS包,它通过执行流程任务调用其他包。一切正常,直到我决定尝试使用配置文件执行包。最初的表达是:

"/REP E /f " +  @[User::screenName] + ".dtsx "

我把它改成了

"/REP E /conf .\\<myconfigfile>.dtsConfig /f " +  @[User::screenName] + ".dtsx"

让我The process exit code was "4" while the expected was "0".

"/REP E /conf d:\\<dir1>\\<dir2>\\packages\\<myconfigfile>.dtsConfig /f " +  @[User::screenName] + ".dtsx"

让我The process exit code was "6" while the expected was "0".

如果我接受命令并从命令行运行它,如下所示:

dtexec.exe /REP E /conf  .\<myconfigfile>.dtsConfig /f <myssispackage>.dtsx

dtexec.exe /REP E /conf "w:\<dir1>\<dir2>\<myconfigfile>.dtsConfig" /f <mySSISpackage>.dtsx

它工作正常。

有什么办法可以得到更好的错误信息吗?我认为有一些关于导致问题的表达方式。

1 个答案:

答案 0 :(得分:0)

确保定位正确的dtexec可执行文件。从命令行执行到Execute Process任务中使用的PATH时,可能不同。

来自http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/126293/的一个好建议是搜索硬盘驱动器的所有外观。该文章中有非常详细的说明。

编辑:哎呀,也许退出代码告诉我们什么?

https://docs.microsoft.com/en-us/sql/integration-services/packages/dtexec-utility#exit

4:该实用程序无法找到所请求的包。无法找到包裹。

6:该实用程序在命令行中遇到语法或语义错误的内部错误。

类型6的错误可能与转义字符有关。 如果您尝试添加一些额外转义的双引号会怎样?

"/REP E /conf \"d:\\<dir1>\\<dir2>\\packages\\<myconfigfile>.dtsConfig\" /f " +  @[User::screenName] + ".dtsx"