将包参数传递给执行包任务

时间:2013-10-03 12:43:56

标签: visual-studio ssis etl biml

我正在使用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

1 个答案:

答案 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>