0

我们正在将 SSIS 包迁移到 Rhino ETL。SSIS 包当前将错误行输出到一个备用目标表,其中所有列都可以为空且为 varchar。好的行会转到真正的目标表,但一旦出错,它会将坏行重定向到另一个错误表。有没有办法让 Rhino ETL 做同样的事情?

目标表是 Sql Server 2008 R2 SP2。

4

1 回答 1

1

我们所做的是我们必须创建两个流程。第一个将以批量复制写入结束。第二个将逐行写入。

如果批量复制失败,我们将开始逐行处理。

然后,我们覆盖了 OutputCommandOperation 的 Execute 方法,因为它在事务中执行所有操作。因此,一切都将在失败时退出。

我们取出事务,在执行非查询上添加一个 catch,并在异常行中添加一个错误列,并将其从 yield break 更改为 yield return 行。

然后我们在逐行过程中注册了一个 FailWrite 操作,这将是最后一步,它将任何具有错误列的行写入错误目标。

于 2014-11-06T17:29:27.147 回答