1
让我也支持一步 - 我试图在IS软件包中实施完整性检查。这个想法是,整个包运行在一个未提交的读取事务中,最后一步是确定某些行数是否存在的检查。如果它们不是,我想引发异常并回滚事务。如何在Integration Services中的执行Sql任务中引发错误?
如果你能告诉我如何做到这一点,或者甚至更好,建议一个更好的方法来实施完整性检查,那将是很好的。
让我也支持一步 - 我试图在IS软件包中实施完整性检查。这个想法是,整个包运行在一个未提交的读取事务中,最后一步是确定某些行数是否存在的检查。如果它们不是,我想引发异常并回滚事务。如何在Integration Services中的执行Sql任务中引发错误?
如果你能告诉我如何做到这一点,或者甚至更好,建议一个更好的方法来实施完整性检查,那将是很好的。
为了您是否观察到的行数从预计的行数不同失败包:
RowCount
步骤,手动设置等。Execute SQL Task
,它提供了所观察的行数,并将结果集设置为Single Row
。Execute SQL Task
的结果集选项卡中,将此结果集分配给一个变量。Expression and Constraint
。将值设置为Failure
。在你的表达中,评估ResultSetVariable <> ExpectedRowCountVariable
。如果观察到的rowcount与预期的rowcount不相等,则包会失败。
您是使用登台表还是直接从IS软件包导入生产表?如果使用登台表,您可以在插入生产表之前对这些表进行完整性检查。 – Phoenix 2015-02-24 19:13:59
在这种情况下,整个临时数据库。用此分段数据库同步生产的过程是分开的。我现在所拥有的是一个Execute Sql任务,但它所能做的只是生成行数,如果它们错了,没有办法打开这个包。 – 2015-02-24 19:16:04
如果你知道期望的rowcount *应该是什么,那么你可以为这个包设置一个全局变量。然后,如果观察的行数不等于预期的变量,则编辑约束条件以失败。 – Phoenix 2015-02-24 19:17:55