【发布时间】:2019-07-18 21:56:30
【问题描述】:
我目前正在将数据库中的数据导出到 XML 文件中。这很好用。根据数据量,一个 XML 文件仅包含一个或数百个数据集。这个过程每天都会触发。现在数据集应该有一个像“FileNo”这样的属性,它应该在开始时为零,然后总是增加值一。现在我看到SSIS中有foreach-containers和for-containers。不幸的是,我担心使用这样的容器会每天为所有数据集提供相同的“FileNo”,因此它们并非都被正确提升。此外,我不知道是否可以在 SSIS 中将变量“FileNo”的最后一个值缓存在某处,以便第二天可以使用“FileNo”的下一个更高的值,而不是从零重新开始。 ..
您知道如何计算这样一个变量并将其存储在某个地方,以便在第二天再次调用它吗?所以最后它应该是这样的:
感谢您的帮助。
【问题讨论】:
-
如果你可以在 SSIS 中获取当前的 FileNo(听起来你就是这样迭代它并将它放在一个变量中)。一旦进入 SSIS 包末尾的变量,您就可以将 FileNo 保存在某处。到数据库,到平面文件/配置文件。然后,当您找到它时,将 SSIS 预运行其他文件中的 FileNo 变量设置为您查找的文件。然后在 SSIS 开始时首先查看该数据库或平面文件(如果它不存在,则从 0 开始)
-
我会创建一个日志表,您可以在其中跟踪执行次数(以及可能的其他有用数据,如时间戳和/或成功标志)。然后,您可以为每次执行插入一个新行并跟踪它们。
-
fileNo 的用途是什么?我似乎没有任何价值,甚至可能会混淆 XML 的最终用户。它看起来像一把钥匙,但它是一个随机数,不会与任何东西联系起来。
标签: xml for-loop foreach ssis etl