我想通过在我的包的开头实现一个运行状况检查脚本任务来确定SSIS包是否可以正常运行。我通过遍历包中的连接管理器并调用acquireconnection方法来完成此操作。如果获取连接有异常,我使用catch块处理它并假设此错误不会导致程序包失败。该程序包显示成功运行,但在SSIS的“执行结果/进度”选项卡中记录了错误,并导致父包的相应ExecutePackage任务失败。
如果我在try块中显式抛出异常,则父包不会失败。只有在执行获取连接方法时抛出异常时,才会发生此故障。
我看起来理解为什么会发生这种情况,如果有一种方法,我可以阻止父包失败,只要获取连接调用抛出异常。我也愿意采用另一种方法来确定包中的所有连接管理器是否正常工作。