2017-10-06 60 views
0

重定向到另一个包参考这个问题Limitations in SSIS package files我决定使用“序列”“执行包任务”分裂我的任务在两个文件中,但我的问题是,如何从同一地点继续包装1完成。我的意思是,如果我们想对数据做一些改变,如何将数据引导到另一个包而不将数据存储在数据库中? (我说的是许多行数据不是单个参数)如何将值从一个包在SSIS

有什么办法可以做到吗?我找不到任何关于它的教程,如果与我分享任何内容,我将不胜感激。

此图像可以解释我在找什么。 enter image description here

回答

1

没有直接的方法可以将缓冲区数据从一个数据流发送到另一个数据流,您需要将数据存储在某个地方。

幸运的是,这很容易做到这一点。您可以将数据存储在raw file中。应该比写入SQL表更快。通过参数将文件位置传递给下一个包,并在那里对原始文件源进行参数化以使用它。

如果您只需要对数据执行查找,则可以使用缓存转换。 Here你可以找到一个关于在软件包之间共享缓存数据的好教程。

+0

它被推荐用于大量的数据? – Amir

+1

SSIS使用RAM内存中保存的缓冲区(它将数据拆分成更小的部分并一次处理几行)在数据流内处理大量数据。在你的情况下,我会说除了将数据写入磁盘之外别无他法,因为我认为在切换到下一个软件包时,您无法一次性将所有RAM中的数据保存在对象类型变量中。我不知道哪个更好 - SQL服务器表或原始文件,你需要检查。我会赌一个原始文件。 – PacoDePaco

+0

你有没有Talend的经验?如果是的话,你推荐SSIS还是Talend? – Amir

1

您可以将多行数据存储在SSIS对象类型变量中,并在程序包之间共享变量。

+0

你能解释一下吗?任何好的教程要遵循?是否建议大量数据? – Amir