3

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

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

完成协调包的下一步是使用包参数来控制执行的包。我看不到任何传递参数“param1”的方法。

有没有办法在BIML中传递参数?(在执行 SQL 任务中我看到了这个选项,但这里没有)

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

4

1 回答 1

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>
于 2013-10-03T19:07:09.743 回答