子包在什么时候读取SSIS父包变量?

子包在什么时候读取SSIS父包变量?,ssis,bids,Ssis,Bids,我找不到任何关于父包变量何时以及如何被子包读取以及它们是否会受到竞争条件影响的可靠信息 我们的团队正在SSIS 2008系统中构建一个系统来处理大量文件。我们需要一个单一的入口点(父包),它拾取文件,检查一些配置,并有条件地调用几个子包中的一个来处理它 一些值,如文件名,需要传递给子包。我想知道的是,本质上,这些是通过引用还是通过值传递的 如果我为文件X.txt运行MainPackage,启动ProcessXPackage,然后(在它仍在运行时)为文件Y.txt运行MainPackage,启动P

我找不到任何关于父包变量何时以及如何被子包读取以及它们是否会受到竞争条件影响的可靠信息

我们的团队正在SSIS 2008系统中构建一个系统来处理大量文件。我们需要一个单一的入口点(父包),它拾取文件,检查一些配置,并有条件地调用几个子包中的一个来处理它

一些值,如文件名,需要传递给子包。我想知道的是,本质上,这些是通过引用还是通过值传递的

如果我为文件X.txt运行MainPackage,启动ProcessXPackage,然后(在它仍在运行时)为文件Y.txt运行MainPackage,启动ProcessYPackage,是否存在ProcessXPackage随后将文件名读取为Y.txt的危险?

或者子包在本地启动和存储时读取的值是否不可能进行修改


甚至我不能在ProcessXPackage已经运行时再次运行MainPackage,因为它在其“堆栈”中?

通过父包变量进行配置的值是单向的,子包将使用父包变量来配置自身,但两个变量在不同级别之间没有链接。子变量仅在执行开始时从父变量复制值

您是在开发中运行还是已将包部署到服务器

发展 您将只能运行MainPackage的一个实例,因此这不会成为问题

已部署 部署时,可以两次执行同一个包(MainPackage),但只能在单独的进程中执行。由于执行相同包的单独实例不能相互影响(由于不同的进程),每个进程将使用自己的配置(对于文件Y.txt或文件X.txt),因此您的包将正确执行这两种配置