2013-10-03 62 views
3

我正在使用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助手与生成的协调包没有任何错误。

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

有没有办法在BIML中传递参数? (在Execute SQL task我看到这个选项,而不是在这里)

UPDATE:有BIDSHelper的新版本与项目参数...->http://bidshelper.codeplex.com/releases/view/112755

+1

我还没有看到一个机制,我问过类似的问题在varigence [论坛](http://varigence.com/Forums?threadID=191) – billinkc

回答

6

这些选项已被添加适当的支持到BIDSHelper的最新版本,它将在未来两周内出货。如果您通过电子邮件发送[email protected],我们可以为您发送预发布,如果您愿意。语法是:

<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> 
+0

谢谢您的回答。我期待着发布。同时,我使用了一种解决方法:带有InheritFromPackageParentConfigurationString的变量和仅用于设置这些参数的全局包。 –

+0

BIDSHelper 1.6.4已发布并包含此问题的修复程序。 –