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

Ruu*_*ten 3 ssis etl visual-studio biml

我正在使用BIML生成一个协调包,它将执行多个SSIS包(一些是并行的,一些是线性的).(我正在使用VS2012和SSIS项目部署模型)

使用下面的代码,我可以生成两个虚拟执行包任务:

<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>
Run Code Online (Sandbox Code Playgroud)

BIDS Helper生成协调包,没有任何错误.

完成协调包的下一步是使用package参数来控制已执行的包.我没有看到任何传递参数"param1"的方法.

有没有办法在BIML中传递参数?(在执行SQL任务中,我看到此选项,但不在此处)

更新:有一个新版本的BIDSHelper,对项目参数有正确的支持......-> http://bidshelper.codeplex.com/releases/view/112755

小智 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>
Run Code Online (Sandbox Code Playgroud)