使用Execute Package Task,能够在一个package中调用并执行其他package,被调用的Package称作 Child Package,Execute Package Task 所在的Package称作parent package。使用该Task,能够简化Package的开发和管理,在典型的Project中,存在一个Manager Package,用于调用Child Packages。
一,Task 属性
1,ReferenceType 属性:select Project Reference for child packages within this project. Select External Reference for child packages located outside of the project.
例如,选择ReferenceType=External Reference,那么Location 有 两个选项:SQL Server 和 File System,在PackageName中指定需要引用的Package
2,Password属性:对package进行加密
3,ExecuteOutOfProcess 属性:Indicate that the child package is to be executed in a separate Windows process。
如果将ExecuteOutOfProcess设置为False,那么Task将会在自己的进程和内存空间中执行package。
4,Parameter bindings
将Parent Package中的Variable 或 Parameter 绑定到Child package的Parameter,这样在执行package时,将会将值传递给Chil Package的parameter。
二,引用Child Package的方式
Execute Package Task有两种方式来设置子package的路径,一种是在Package中,设置ReferenceType和PackageNameFromProjectReference,一种是在Expressions中设置Property Expressions来引用包。
第一种方式:通过设置ReferenceType和PackageNameFromProjectReference来引用Child Package
ReferenceType,如果是在同一个项目中,那么选中Project Reference。
PackageNameFromProjectReference就是项目中package的名称。
如果不在同一个项目中,那么ReferenceType选中External Reference,引用包的方式有两种,如果package已经发布到sql server中了,那么可以直接引用,只需要创建一个connection,就可以从Sql Server中获取package;如果包未发布到Sql Server中,以file system的方式来调用包,必须创建file connection,来链接到包。
第二种方式:使用Expressions 动态设置包的路径
选中ProckageName属性和 UseProjectReference属性,在Expression中设置 相应的 parameter,variable或literal text,用以提供配置值。