今天Execute 一个 Execute Package Task 去调用其他packages,发现Task报错,而Child Package执行成功。
Execute Package Task抛出的错误信息是:
Warning: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. 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.
从错误信息中,可以看出,肯定是Child Package 向 Execute Package Task报错。但是从Child Package的Execution Results中,不能发现任何错误。百思不得其解,既然想不通,那就看看SSISDB中记录的错误信息吧。
Step1,查看SSISDB中记录的package的执行记录
打开Integration Services Catalogs-》SSISDB-》SolutionName-》Projects-》ProjectName,右击弹出快捷菜单,查看Reports-》Standard Reports-》All Executions.
查看到真正的错误信息是:
Error:The connection"{xxxxxxxxxxxxxxxxxxxxx}" is not found. This error is thrown by connections collection when the specific connection element is not found.
原来是Connections Management collection向Parent Task 报错。Connections Management collection 检测到某一个Connection的ID 不存在了,而Package在执行时没有使用到这个Connection,所以,Package的执行过程是成功的。