5

我想通过Microsoft.SqlServer.Management.IntegrationServices命名空间中的对象验证并执行存储在 SSIS 目录(项目部署模型)中的 SSIS 包。当我从PackageInfo类执行Validate方法时,它只运行验证,但不等到它结束。在一个示例中,我发现作者在“即发即弃”模式下触发验证 - 为什么在我们不关心结果时触发它?在另一种情况下,执行在没有事先验证的情况下被触发。

  1. 我应该在每次执行之前验证包吗?
  2. 如果是这样,如何在同步模式下做到这一点?
  3. 我也对ValidationOperation Status 属性感到好奇。它是包装catalog.validations status列,除其他外,可以具有值succeeded (7)completed (9)-它们之间有什么区别?
4

1 回答 1

2

广告 2:我能够循环等待验证结果:

var validationId = package.Validate(false, PackageInfo.ReferenceUsage.UseAllReferences, null);
ValidationOperation validation = package.Parent.Parent.Parent.Validations[validationId];
do
{
    Thread.Sleep(1000);
    validation.Refresh();
}
while (!validation.Completed);
于 2012-08-29T14:12:02.007 回答