我正在使用BIML生成一个协调包,它将执行多个SSIS包(一些是并行的,一些是线性的)。 (我正在使用VS2012和SSIS项目部署模型)
使用下面的代码,我可以生成两个虚拟Execute Package Tasks:
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package ConstraintMode="Linear" AutoCreateConfigurationsType="None" ProtectionLevel="DontSaveSensitive" Name="Coordination">
<Parameters>
<Parameter Name="param1" DataType="Int64" IsRequired="true" IsSensitive="false">1</Parameter>
</Parameters>
<Tasks>
<Container Name="SEQ container" ConstraintMode="Parallel">
<Tasks>
<ExecutePackage Name="Run Package1">
<ExternalProjectPackage Package="Package1.dtsx" />
</ExecutePackage>
<ExecutePackage Name="Run Package2">
<ExternalProjectPackage Package="Package2.dtsx" />
</ExecutePackage>
</Tasks>
</Container>
</Tasks>
</Package>
</Packages>
</Biml>
BIDS Helper生成协调包,没有任何错误。
完成协调包的下一步是使用package参数来控制已执行的包。我没有看到任何传递参数“param1”的方法。
有没有办法在BIML中传递参数? (在Execute SQL task我看到此选项,但不在此处)
更新:BIDSHelper的新版本具有对项目参数的正确支持...-&gt; http://bidshelper.codeplex.com/releases/view/112755
答案 0 :(得分:6)
这些选项已被添加到BIDSHelper的最新版本中,该版本将在未来两周内发布。如果您发送电子邮件至support@varigence.com,我们可以向您发送预发布,如果您愿意的话。语法是:
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package ConstraintMode="Linear" AutoCreateConfigurationsType="None" ProtectionLevel="DontSaveSensitive" Name="Coordination">
<Parameters>
<Parameter Name="param1" DataType="Int64" IsRequired="true" IsSensitive="false">1</Parameter>
</Parameters>
<Tasks>
<Container Name="SEQ container" ConstraintMode="Parallel">
<Tasks>
<ExecutePackage Name="Run Package1">
<ExternalProjectPackage Package="Package1.dtsx" />
<ParameterBindings>
<ParameterBinding Name="Param1" VariableName="System.PackageID" />
</ParameterBindings>
</ExecutePackage>
<ExecutePackage Name="Run Package2">
<ExternalProjectPackage Package="Package2.dtsx" />
<ParameterBindings>
<ParameterBinding Name="Param1" VariableName="System.PackageID" />
</ParameterBindings>
</ExecutePackage>
</Tasks>
</Container>
</Tasks>
</Package>
</Packages>
</Biml>