2013-10-03 99 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已發佈幷包含此問題的修復程序。 –